diff --git a/0001-conf-add-script-attribute-to-disk-specification.patch b/0001-conf-add-script-attribute-to-disk-specification.patch index 14c75b26..58f66671 100644 --- a/0001-conf-add-script-attribute-to-disk-specification.patch +++ b/0001-conf-add-script-attribute-to-disk-specification.patch @@ -1,4 +1,4 @@ -From 5aaef083c1677193ae1fe25f3de089a7ea1fce08 Mon Sep 17 00:00:00 2001 +From 0c09d052d1b6a10afeefabec32c4d7d93dd9a585 Mon Sep 17 00:00:00 2001 From: Marek Marczykowski Date: Fri, 5 Apr 2013 01:37:29 +0200 Subject: [PATCH] conf: add 'script' attribute to disk specification @@ -26,10 +26,10 @@ Signed-off-by: Marek Marczykowski-Górecki 3 files changed, 16 insertions(+) diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng -index 76d94b156f..c167f56e27 100644 +index 9d60b090f3..7d7d6b04c6 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng -@@ -1387,6 +1387,14 @@ +@@ -1388,6 +1388,14 @@ @@ -45,10 +45,10 @@ index 76d94b156f..c167f56e27 100644 diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index ee57152da7..48629c7fed 100644 +index 8a87586936..16e42b1f51 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c -@@ -2108,6 +2108,7 @@ virDomainDiskDefFree(virDomainDiskDefPtr def) +@@ -2192,6 +2192,7 @@ virDomainDiskDefFree(virDomainDiskDefPtr def) VIR_FREE(def->domain_name); VIR_FREE(def->blkdeviotune.group_name); VIR_FREE(def->virtio); @@ -56,7 +56,7 @@ index ee57152da7..48629c7fed 100644 virDomainDeviceInfoClear(&def->info); virObjectUnref(def->privateData); -@@ -10068,6 +10069,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt, +@@ -10422,6 +10423,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt, g_autofree char *vendor = NULL; g_autofree char *product = NULL; g_autofree char *domain_name = NULL; @@ -64,7 +64,7 @@ index ee57152da7..48629c7fed 100644 if (!(def = virDomainDiskDefNew(xmlopt))) return NULL; -@@ -10169,6 +10171,9 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt, +@@ -10523,6 +10525,9 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt, } else if (virXMLNodeNameEqual(cur, "geometry")) { if (virDomainDiskDefGeometryParse(def, cur) < 0) goto error; @@ -74,7 +74,7 @@ index ee57152da7..48629c7fed 100644 } else if (virXMLNodeNameEqual(cur, "blockio")) { logical_block_size = virXMLPropString(cur, "logical_block_size"); -@@ -10434,6 +10439,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt, +@@ -10788,6 +10793,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt, if (encryption) def->src->encryption = g_steal_pointer(&encryption); def->domain_name = g_steal_pointer(&domain_name); @@ -82,7 +82,7 @@ index ee57152da7..48629c7fed 100644 def->serial = g_steal_pointer(&serial); def->wwn = g_steal_pointer(&wwn); def->vendor = g_steal_pointer(&vendor); -@@ -24599,6 +24605,7 @@ virDomainDiskDefFormat(virBufferPtr buf, +@@ -25454,6 +25460,7 @@ virDomainDiskDefFormat(virBufferPtr buf, return -1; virBufferEscapeString(buf, "\n", def->domain_name); @@ -91,10 +91,10 @@ index ee57152da7..48629c7fed 100644 virDomainDiskGeometryDefFormat(buf, def); virDomainDiskBlockIoDefFormat(buf, def); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h -index 6ae89fa498..87afd9bda4 100644 +index 4afd8f04bc..9b92b86caa 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h -@@ -575,6 +575,7 @@ struct _virDomainDiskDef { +@@ -579,6 +579,7 @@ struct _virDomainDiskDef { unsigned int queues; int model; /* enum virDomainDiskModel */ virDomainVirtioOptionsPtr virtio; @@ -103,5 +103,5 @@ index 6ae89fa498..87afd9bda4 100644 -- -2.21.0 +2.21.1 diff --git a/0002-libxl-use-disk-script-attribute.patch b/0002-libxl-use-disk-script-attribute.patch index 7f58c773..4c5e9ff5 100644 --- a/0002-libxl-use-disk-script-attribute.patch +++ b/0002-libxl-use-disk-script-attribute.patch @@ -1,4 +1,4 @@ -From c8b87fd436fd663ff7454c78f89791aea3958b89 Mon Sep 17 00:00:00 2001 +From dac27fbc26415add1619b8f65de3154bea90082a Mon Sep 17 00:00:00 2001 From: Marek Marczykowski Date: Fri, 5 Apr 2013 01:41:04 +0200 Subject: [PATCH] libxl: use disk 'script' attribute @@ -20,10 +20,10 @@ Signed-off-by: Marek Marczykowski-Górecki 1 file changed, 2 insertions(+) diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c -index 2488bb9d32..0db9518f6b 100644 +index 458dfc2399..74f3bbcae6 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c -@@ -1003,6 +1003,8 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk) +@@ -1041,6 +1041,8 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk) x_disk->vdev = g_strdup(l_disk->dst); @@ -33,5 +33,5 @@ index 2488bb9d32..0db9518f6b 100644 if (STREQ(driver, "tap") || STREQ(driver, "tap2")) { switch (format) { -- -2.21.0 +2.21.1 diff --git a/0003-libxl-Stubdom-emulator-type.patch b/0003-libxl-Stubdom-emulator-type.patch index 087c44f0..716fb469 100644 --- a/0003-libxl-Stubdom-emulator-type.patch +++ b/0003-libxl-Stubdom-emulator-type.patch @@ -1,4 +1,4 @@ -From 2e6f1a15d76fa48232e2848b509be40ad589c671 Mon Sep 17 00:00:00 2001 +From d2026a17871ce5c27739fb3a85e5304a3dcb0f6f Mon Sep 17 00:00:00 2001 From: Marek Marczykowski Date: Sun, 7 Apr 2013 19:48:52 +0200 Subject: [PATCH] libxl: Stubdom emulator type @@ -23,10 +23,10 @@ Signed-off-by: Marek Marczykowski-Górecki 5 files changed, 110 insertions(+), 3 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in -index 6e86d057a8..1e4813d44c 100644 +index 91d6f6c0d3..72a4d99b7e 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in -@@ -2748,6 +2748,23 @@ +@@ -2829,6 +2829,23 @@ The capabilities XML specifies the recommended default emulator to use for each particular domain type / architecture combination. @@ -51,10 +51,10 @@ index 6e86d057a8..1e4813d44c 100644 diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng -index c167f56e27..0161adf675 100644 +index 7d7d6b04c6..1f950d2dc9 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng -@@ -3205,7 +3205,33 @@ +@@ -3450,7 +3450,33 @@ --> @@ -90,10 +90,10 @@ index c167f56e27..0161adf675 100644 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ - - - -diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index d8eecb3357..120730a9b1 100644 ---- a/src/conf/domain_conf.c -+++ b/src/conf/domain_conf.c -@@ -159,6 +159,7 @@ VIR_ENUM_IMPL(virDomainFeature, - "privnet", - "hyperv", - "kvm", -+ "xen", - "pvspinlock", - "capabilities", - "pmu", -@@ -205,6 +206,11 @@ VIR_ENUM_IMPL(virDomainKVM, - "hint-dedicated", - ); - -+VIR_ENUM_IMPL(virDomainXen, -+ VIR_DOMAIN_XEN_LAST, -+ "e820_host" -+); -+ - VIR_ENUM_IMPL(virDomainMsrsUnknown, - VIR_DOMAIN_MSRS_UNKNOWN_LAST, - "ignore", -@@ -20355,6 +20361,7 @@ virDomainDefParseXML(xmlDocPtr xml, - case VIR_DOMAIN_FEATURE_HYPERV: - case VIR_DOMAIN_FEATURE_KVM: - case VIR_DOMAIN_FEATURE_MSRS: -+ case VIR_DOMAIN_FEATURE_XEN: - def->features[val] = VIR_TRISTATE_SWITCH_ON; - break; - -@@ -20665,6 +20672,55 @@ virDomainDefParseXML(xmlDocPtr xml, - VIR_FREE(nodes); - } - -+ if (def->features[VIR_DOMAIN_FEATURE_XEN] == VIR_TRISTATE_SWITCH_ON) { -+ int feature; -+ int value; -+ node = ctxt->node; -+ if ((n = virXPathNodeSet("./features/xen/*", ctxt, &nodes)) < 0) -+ goto error; -+ -+ for (i = 0; i < n; i++) { -+ feature = virDomainXenTypeFromString((const char *)nodes[i]->name); -+ if (feature < 0) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, -+ _("unsupported Xen feature: %s"), -+ nodes[i]->name); -+ goto error; -+ } -+ -+ ctxt->node = nodes[i]; -+ -+ switch ((virDomainXen) feature) { -+ case VIR_DOMAIN_XEN_E820_HOST: -+ if (!(tmp = virXPathString("string(./@state)", ctxt))) { -+ virReportError(VIR_ERR_XML_ERROR, -+ _("missing 'state' attribute for " -+ "Xen feature '%s'"), -+ nodes[i]->name); -+ goto error; -+ } -+ -+ if ((value = virTristateSwitchTypeFromString(tmp)) < 0) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, -+ _("invalid value of state argument " -+ "for Xen feature '%s'"), -+ nodes[i]->name); -+ goto error; -+ } -+ -+ VIR_FREE(tmp); -+ def->xen_features[feature] = value; -+ break; -+ -+ /* coverity[dead_error_begin] */ -+ case VIR_DOMAIN_XEN_LAST: -+ break; -+ } -+ } -+ VIR_FREE(nodes); -+ ctxt->node = node; -+ } -+ - if (def->features[VIR_DOMAIN_FEATURE_SMM] == VIR_TRISTATE_SWITCH_ON) { - int rv = virDomainParseScaledValue("string(./features/smm/tseg)", - "string(./features/smm/tseg/@unit)", -@@ -22668,6 +22724,7 @@ virDomainDefFeaturesCheckABIStability(virDomainDefPtr src, - case VIR_DOMAIN_FEATURE_PRIVNET: - case VIR_DOMAIN_FEATURE_HYPERV: - case VIR_DOMAIN_FEATURE_KVM: -+ case VIR_DOMAIN_FEATURE_XEN: - case VIR_DOMAIN_FEATURE_PVSPINLOCK: - case VIR_DOMAIN_FEATURE_PMU: - case VIR_DOMAIN_FEATURE_VMPORT: -@@ -22839,6 +22896,30 @@ virDomainDefFeaturesCheckABIStability(virDomainDefPtr src, - } - } - -+ /* xen */ -+ if (src->features[VIR_DOMAIN_FEATURE_XEN] == VIR_TRISTATE_SWITCH_ON) { -+ for (i = 0; i < VIR_DOMAIN_XEN_LAST; i++) { -+ switch ((virDomainXen) i) { -+ case VIR_DOMAIN_XEN_E820_HOST: -+ if (src->xen_features[i] != dst->xen_features[i]) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, -+ _("State of Xen feature '%s' differs: " -+ "source: '%s', destination: '%s'"), -+ virDomainXenTypeToString(i), -+ virTristateSwitchTypeToString(src->xen_features[i]), -+ virTristateSwitchTypeToString(dst->xen_features[i])); -+ return false; -+ } -+ -+ break; -+ -+ /* coverity[dead_error_begin] */ -+ case VIR_DOMAIN_XEN_LAST: -+ break; -+ } -+ } -+ } -+ - /* kvm */ - if (src->features[VIR_DOMAIN_FEATURE_KVM] == VIR_TRISTATE_SWITCH_ON) { - for (i = 0; i < VIR_DOMAIN_KVM_LAST; i++) { -@@ -28332,6 +28413,31 @@ virDomainDefFormatFeatures(virBufferPtr buf, - virBufferAddLit(&childBuf, "\n"); - break; - -+ case VIR_DOMAIN_FEATURE_XEN: -+ if (def->features[i] != VIR_TRISTATE_SWITCH_ON) -+ break; -+ -+ virBufferAddLit(&childBuf, "\n"); -+ virBufferAdjustIndent(&childBuf, 2); -+ for (j = 0; j < VIR_DOMAIN_XEN_LAST; j++) { -+ switch ((virDomainXen) j) { -+ case VIR_DOMAIN_XEN_E820_HOST: -+ if (def->xen_features[j]) -+ virBufferAsprintf(&childBuf, "<%s state='%s'/>\n", -+ virDomainXenTypeToString(j), -+ virTristateSwitchTypeToString( -+ def->xen_features[j])); -+ break; -+ -+ /* coverity[dead_error_begin] */ -+ case VIR_DOMAIN_XEN_LAST: -+ break; -+ } -+ } -+ virBufferAdjustIndent(&childBuf, -2); -+ virBufferAddLit(&childBuf, "\n"); -+ break; -+ - case VIR_DOMAIN_FEATURE_CAPABILITIES: - for (j = 0; j < VIR_DOMAIN_PROCES_CAPS_FEATURE_LAST; j++) { - if (def->caps_features[j] != VIR_TRISTATE_SWITCH_ABSENT) -diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h -index 9861d05a43..06631092c1 100644 ---- a/src/conf/domain_conf.h -+++ b/src/conf/domain_conf.h -@@ -1753,6 +1753,7 @@ typedef enum { - VIR_DOMAIN_FEATURE_PRIVNET, - VIR_DOMAIN_FEATURE_HYPERV, - VIR_DOMAIN_FEATURE_KVM, -+ VIR_DOMAIN_FEATURE_XEN, - VIR_DOMAIN_FEATURE_PVSPINLOCK, - VIR_DOMAIN_FEATURE_CAPABILITIES, - VIR_DOMAIN_FEATURE_PMU, -@@ -1811,6 +1812,12 @@ typedef enum { - VIR_DOMAIN_MSRS_UNKNOWN_LAST - } virDomainMsrsUnknown; - -+typedef enum { -+ VIR_DOMAIN_XEN_E820_HOST = 0, -+ -+ VIR_DOMAIN_XEN_LAST -+} virDomainXen; -+ - typedef enum { - VIR_DOMAIN_CAPABILITIES_POLICY_DEFAULT = 0, - VIR_DOMAIN_CAPABILITIES_POLICY_ALLOW, -@@ -2439,6 +2446,7 @@ struct _virDomainDef { - int hyperv_features[VIR_DOMAIN_HYPERV_LAST]; - int kvm_features[VIR_DOMAIN_KVM_LAST]; - int msrs_features[VIR_DOMAIN_MSRS_LAST]; -+ int xen_features[VIR_DOMAIN_XEN_LAST]; - unsigned int hyperv_spinlocks; - int hyperv_stimer_direct; - virGICVersion gic_version; -@@ -3477,6 +3485,7 @@ VIR_ENUM_DECL(virDomainGraphicsSpiceMouseMode); - VIR_ENUM_DECL(virDomainGraphicsVNCSharePolicy); - VIR_ENUM_DECL(virDomainHyperv); - VIR_ENUM_DECL(virDomainKVM); -+VIR_ENUM_DECL(virDomainXen); - VIR_ENUM_DECL(virDomainEmulatorType); - VIR_ENUM_DECL(virDomainMsrsUnknown); - VIR_ENUM_DECL(virDomainRNGModel); -diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c -index a6dde15bad..386d4223b6 100644 ---- a/src/qemu/qemu_domain.c -+++ b/src/qemu/qemu_domain.c -@@ -5191,6 +5191,7 @@ qemuDomainDefValidateFeatures(const virDomainDef *def, - } - break; - -+ case VIR_DOMAIN_FEATURE_XEN: - case VIR_DOMAIN_FEATURE_ACPI: - case VIR_DOMAIN_FEATURE_APIC: - case VIR_DOMAIN_FEATURE_PAE: --- -2.21.0 - diff --git a/0012-libxl-add-linux-stubdom-support.patch b/0008-libxl-add-linux-stubdom-support.patch similarity index 86% rename from 0012-libxl-add-linux-stubdom-support.patch rename to 0008-libxl-add-linux-stubdom-support.patch index 98088813..68dcdf1a 100644 --- a/0012-libxl-add-linux-stubdom-support.patch +++ b/0008-libxl-add-linux-stubdom-support.patch @@ -1,4 +1,4 @@ -From 287bb2cb44d714f923466ed012f73d4723511bb6 Mon Sep 17 00:00:00 2001 +From 3c63a3a6231637b48d81674d8d8a751042150f00 Mon Sep 17 00:00:00 2001 From: HW42 Date: Sat, 22 Apr 2017 08:56:59 +0200 Subject: [PATCH] libxl: add linux stubdom support @@ -17,10 +17,10 @@ Signed-off-by: Marek Marczykowski-Górecki 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng -index c452c31f20..6784ae7f75 100644 +index 2af001ff7b..5f1ab30d57 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng -@@ -3217,6 +3217,7 @@ +@@ -3462,6 +3462,7 @@ qemu stubdom @@ -28,7 +28,7 @@ index c452c31f20..6784ae7f75 100644 -@@ -3232,6 +3233,7 @@ +@@ -3477,6 +3478,7 @@ qemu stubdom @@ -37,10 +37,10 @@ index c452c31f20..6784ae7f75 100644 diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index 120730a9b1..686e7d3ea4 100644 +index 0d7f8f879d..213c005cc6 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c -@@ -1110,7 +1110,8 @@ VIR_ENUM_IMPL(virDomainDiskTray, +@@ -1148,7 +1148,8 @@ VIR_ENUM_IMPL(virDomainDiskTray, VIR_ENUM_IMPL(virDomainEmulatorType, VIR_DOMAIN_EMULATOR_TYPE_LAST, "qemu", @@ -51,10 +51,10 @@ index 120730a9b1..686e7d3ea4 100644 VIR_ENUM_IMPL(virDomainRNGModel, VIR_DOMAIN_RNG_MODEL_LAST, diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h -index 06631092c1..81c3da8bf5 100644 +index 189d277fd7..a374cf380d 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h -@@ -2107,6 +2107,7 @@ struct _virBlkioDevice { +@@ -2206,6 +2206,7 @@ struct _virBlkioDevice { typedef enum { VIR_DOMAIN_EMULATOR_TYPE_DEFAULT, VIR_DOMAIN_EMULATOR_TYPE_STUBDOM, @@ -63,10 +63,10 @@ index 06631092c1..81c3da8bf5 100644 VIR_DOMAIN_EMULATOR_TYPE_LAST } virDomainEmulatorType; diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c -index 034631af5a..147f59aba4 100644 +index 606ef8503b..b1c8b5b95d 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c -@@ -567,6 +567,11 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, +@@ -591,6 +591,11 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, b_info->device_model = g_strdup(def->emulator); b_info->device_model_version = libxlDomainGetEmulatorType(def); @@ -78,7 +78,7 @@ index 034631af5a..147f59aba4 100644 } /* In case of stubdom there will be two qemu instances: -@@ -575,7 +580,8 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, +@@ -599,7 +604,8 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, * Emulator path control only the second one. It makes a perfect sense * to use (yes, without emulator path). */ @@ -89,5 +89,5 @@ index 034631af5a..147f59aba4 100644 if (def->emulator_cmdline && def->emulator_cmdline[0]) { -- -2.21.0 +2.21.1 diff --git a/0013-libxl-add-support-for-qubes-graphic-device.patch b/0009-libxl-add-support-for-qubes-graphic-device.patch similarity index 82% rename from 0013-libxl-add-support-for-qubes-graphic-device.patch rename to 0009-libxl-add-support-for-qubes-graphic-device.patch index 7456dedf..afe4d707 100644 --- a/0013-libxl-add-support-for-qubes-graphic-device.patch +++ b/0009-libxl-add-support-for-qubes-graphic-device.patch @@ -1,4 +1,4 @@ -From 6cfac7e0cd72b9b530a4c12184b840dd6789af01 Mon Sep 17 00:00:00 2001 +From df5cfc4e59394e198b34a5b03e11c7d046fd7f5b Mon Sep 17 00:00:00 2001 From: HW42 Date: Sat, 22 Apr 2017 08:57:58 +0200 Subject: [PATCH] libxl: add support for qubes graphic device @@ -15,18 +15,18 @@ Signed-off-by: Marek Marczykowski-Górecki src/conf/domain_conf.h | 5 ++++ src/libxl/libxl_conf.c | 9 ++++++++ src/qemu/qemu_command.c | 2 ++ - src/qemu/qemu_domain.c | 1 + src/qemu/qemu_driver.c | 2 ++ src/qemu/qemu_hotplug.c | 1 + src/qemu/qemu_process.c | 4 ++++ + src/qemu/qemu_validate.c | 1 + src/vmx/vmx.c | 1 + 10 files changed, 81 insertions(+) diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng -index 6784ae7f75..699a80372a 100644 +index 5f1ab30d57..13769b796c 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng -@@ -3341,6 +3341,19 @@ +@@ -3586,6 +3586,19 @@ @@ -47,10 +47,10 @@ index 6784ae7f75..699a80372a 100644 spice diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index 686e7d3ea4..1327a77caa 100644 +index 213c005cc6..5c5769cd08 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c -@@ -796,6 +796,7 @@ VIR_ENUM_IMPL(virDomainGraphics, +@@ -833,6 +833,7 @@ VIR_ENUM_IMPL(virDomainGraphics, "vnc", "rdp", "desktop", @@ -58,7 +58,7 @@ index 686e7d3ea4..1327a77caa 100644 "spice", "egl-headless", ); -@@ -1731,6 +1732,10 @@ void virDomainGraphicsDefFree(virDomainGraphicsDefPtr def) +@@ -1808,6 +1809,10 @@ void virDomainGraphicsDefFree(virDomainGraphicsDefPtr def) VIR_FREE(def->data.desktop.display); break; @@ -69,7 +69,7 @@ index 686e7d3ea4..1327a77caa 100644 case VIR_DOMAIN_GRAPHICS_TYPE_SPICE: VIR_FREE(def->data.spice.rendernode); VIR_FREE(def->data.spice.keymap); -@@ -14156,6 +14161,30 @@ virDomainGraphicsDefParseXMLDesktop(virDomainGraphicsDefPtr def, +@@ -14607,6 +14612,30 @@ virDomainGraphicsDefParseXMLDesktop(virDomainGraphicsDefPtr def, return 0; } @@ -100,7 +100,7 @@ index 686e7d3ea4..1327a77caa 100644 static int virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def, -@@ -14529,6 +14558,10 @@ virDomainGraphicsDefParseXML(virDomainXMLOptionPtr xmlopt, +@@ -14980,6 +15009,10 @@ virDomainGraphicsDefParseXML(virDomainXMLOptionPtr xmlopt, if (virDomainGraphicsDefParseXMLDesktop(def, node) < 0) goto error; break; @@ -111,7 +111,7 @@ index 686e7d3ea4..1327a77caa 100644 case VIR_DOMAIN_GRAPHICS_TYPE_SPICE: if (virDomainGraphicsDefParseXMLSpice(def, node, ctxt, flags) < 0) goto error; -@@ -27146,6 +27179,14 @@ virDomainGraphicsDefFormat(virBufferPtr buf, +@@ -27994,6 +28027,14 @@ virDomainGraphicsDefFormat(virBufferPtr buf, break; @@ -126,7 +126,7 @@ index 686e7d3ea4..1327a77caa 100644 case VIR_DOMAIN_GRAPHICS_TYPE_SPICE: if (!glisten) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", -@@ -31672,6 +31713,7 @@ virDomainGraphicsDefHasOpenGL(const virDomainDef *def) +@@ -32515,6 +32556,7 @@ virDomainGraphicsDefHasOpenGL(const virDomainDef *def) switch (graphics->type) { case VIR_DOMAIN_GRAPHICS_TYPE_VNC: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -134,7 +134,7 @@ index 686e7d3ea4..1327a77caa 100644 case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: continue; case VIR_DOMAIN_GRAPHICS_TYPE_SDL: -@@ -31724,6 +31766,7 @@ virDomainGraphicsGetRenderNode(const virDomainGraphicsDef *graphics) +@@ -32567,6 +32609,7 @@ virDomainGraphicsGetRenderNode(const virDomainGraphicsDef *graphics) case VIR_DOMAIN_GRAPHICS_TYPE_SDL: case VIR_DOMAIN_GRAPHICS_TYPE_VNC: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -143,10 +143,10 @@ index 686e7d3ea4..1327a77caa 100644 case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h -index 81c3da8bf5..46ff6d0301 100644 +index a374cf380d..b7977a6d6a 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h -@@ -1459,6 +1459,7 @@ typedef enum { +@@ -1510,6 +1510,7 @@ typedef enum { VIR_DOMAIN_GRAPHICS_TYPE_VNC, VIR_DOMAIN_GRAPHICS_TYPE_RDP, VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP, @@ -154,7 +154,7 @@ index 81c3da8bf5..46ff6d0301 100644 VIR_DOMAIN_GRAPHICS_TYPE_SPICE, VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS, -@@ -1639,6 +1640,10 @@ struct _virDomainGraphicsDef { +@@ -1690,6 +1691,10 @@ struct _virDomainGraphicsDef { virTristateBool gl; char *rendernode; } spice; @@ -166,10 +166,10 @@ index 81c3da8bf5..46ff6d0301 100644 char *rendernode; } egl_headless; diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c -index 147f59aba4..a24639af43 100644 +index b1c8b5b95d..d1b1486cbf 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c -@@ -1534,6 +1534,9 @@ libxlMakeVfb(virPortAllocatorRangePtr graphicsports, +@@ -1558,6 +1558,9 @@ libxlMakeVfb(virPortAllocatorRangePtr graphicsports, case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; @@ -179,7 +179,7 @@ index 147f59aba4..a24639af43 100644 } return 0; -@@ -1612,6 +1615,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRangePtr graphicsports, +@@ -1636,6 +1639,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRangePtr graphicsports, unsigned short port; virDomainGraphicsListenDefPtr glisten = NULL; @@ -193,10 +193,10 @@ index 147f59aba4..a24639af43 100644 continue; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c -index 904d2beab5..c454ccd85f 100644 +index 6acfc0b19d..227cab3596 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c -@@ -7802,6 +7802,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg, +@@ -7923,6 +7923,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg, return -1; break; @@ -204,7 +204,7 @@ index 904d2beab5..c454ccd85f 100644 case VIR_DOMAIN_GRAPHICS_TYPE_RDP: case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: return -1; -@@ -9602,6 +9603,7 @@ qemuBuildCommandLineValidate(virQEMUDriverPtr driver, +@@ -9699,6 +9700,7 @@ qemuBuildCommandLineValidate(virQEMUDriverPtr driver, break; case VIR_DOMAIN_GRAPHICS_TYPE_RDP: case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: @@ -212,23 +212,11 @@ index 904d2beab5..c454ccd85f 100644 case VIR_DOMAIN_GRAPHICS_TYPE_LAST: break; } -diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c -index 386d4223b6..227a24c31c 100644 ---- a/src/qemu/qemu_domain.c -+++ b/src/qemu/qemu_domain.c -@@ -8024,6 +8024,7 @@ qemuDomainDeviceDefValidateGraphics(const virDomainGraphicsDef *graphics, - - break; - case VIR_DOMAIN_GRAPHICS_TYPE_RDP: -+ case VIR_DOMAIN_GRAPHICS_TYPE_QUBES: - case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unsupported graphics type '%s'"), diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c -index d6b1e9f00c..aac371b5ba 100644 +index d5aeeac66d..078f9d62e2 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c -@@ -18912,6 +18912,7 @@ qemuDomainOpenGraphics(virDomainPtr dom, +@@ -18785,6 +18785,7 @@ qemuDomainOpenGraphics(virDomainPtr dom, break; case VIR_DOMAIN_GRAPHICS_TYPE_SDL: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -236,7 +224,7 @@ index d6b1e9f00c..aac371b5ba 100644 case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, -@@ -18981,6 +18982,7 @@ qemuDomainOpenGraphicsFD(virDomainPtr dom, +@@ -18854,6 +18855,7 @@ qemuDomainOpenGraphicsFD(virDomainPtr dom, break; case VIR_DOMAIN_GRAPHICS_TYPE_SDL: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -245,10 +233,10 @@ index d6b1e9f00c..aac371b5ba 100644 case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c -index 31d455505b..cb4f61cbd2 100644 +index 60d0729f1e..ae30f1da5d 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c -@@ -4156,6 +4156,7 @@ qemuDomainChangeGraphics(virQEMUDriverPtr driver, +@@ -4206,6 +4206,7 @@ qemuDomainChangeGraphics(virQEMUDriverPtr driver, case VIR_DOMAIN_GRAPHICS_TYPE_SDL: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -257,10 +245,10 @@ index 31d455505b..cb4f61cbd2 100644 case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: virReportError(VIR_ERR_INTERNAL_ERROR, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c -index 4195042194..edd9aec06f 100644 +index 8ea470f75f..e2b9d51016 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c -@@ -4647,6 +4647,7 @@ qemuProcessGraphicsReservePorts(virDomainGraphicsDefPtr graphics, +@@ -4670,6 +4670,7 @@ qemuProcessGraphicsReservePorts(virDomainGraphicsDefPtr graphics, case VIR_DOMAIN_GRAPHICS_TYPE_SDL: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -268,7 +256,7 @@ index 4195042194..edd9aec06f 100644 case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: -@@ -4686,6 +4687,7 @@ qemuProcessGraphicsAllocatePorts(virQEMUDriverPtr driver, +@@ -4709,6 +4710,7 @@ qemuProcessGraphicsAllocatePorts(virQEMUDriverPtr driver, case VIR_DOMAIN_GRAPHICS_TYPE_SDL: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -276,7 +264,7 @@ index 4195042194..edd9aec06f 100644 case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: -@@ -4842,6 +4844,7 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, +@@ -4865,6 +4867,7 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, case VIR_DOMAIN_GRAPHICS_TYPE_SDL: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -284,7 +272,7 @@ index 4195042194..edd9aec06f 100644 case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: -@@ -5146,6 +5149,7 @@ qemuProcessStartValidateGraphics(virDomainObjPtr vm) +@@ -5169,6 +5172,7 @@ qemuProcessStartValidateGraphics(virDomainObjPtr vm) case VIR_DOMAIN_GRAPHICS_TYPE_SDL: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -292,11 +280,23 @@ index 4195042194..edd9aec06f 100644 case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: case VIR_DOMAIN_GRAPHICS_TYPE_LAST: +diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c +index 9debac6b30..ffde226ab0 100644 +--- a/src/qemu/qemu_validate.c ++++ b/src/qemu/qemu_validate.c +@@ -3003,6 +3003,7 @@ qemuValidateDomainDeviceDefGraphics(const virDomainGraphicsDef *graphics, + + break; + case VIR_DOMAIN_GRAPHICS_TYPE_RDP: ++ case VIR_DOMAIN_GRAPHICS_TYPE_QUBES: + case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("unsupported graphics type '%s'"), diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c -index aa88dfcb5d..d85f970b57 100644 +index b1fd1181eb..8dd7ca552a 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c -@@ -3277,6 +3277,7 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virDomainDe +@@ -3290,6 +3290,7 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virDomainDe case VIR_DOMAIN_GRAPHICS_TYPE_SDL: case VIR_DOMAIN_GRAPHICS_TYPE_RDP: @@ -305,5 +305,5 @@ index aa88dfcb5d..d85f970b57 100644 case VIR_DOMAIN_GRAPHICS_TYPE_SPICE: case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: -- -2.21.0 +2.21.1 diff --git a/0009-libxl-make-use-of-e820_host-feature.patch b/0009-libxl-make-use-of-e820_host-feature.patch deleted file mode 100644 index 8e61ab50..00000000 --- a/0009-libxl-make-use-of-e820_host-feature.patch +++ /dev/null @@ -1,44 +0,0 @@ -From c43c4c247fa7b0d48fb3ecdc71f1dcf73d287446 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= - -Date: Thu, 2 Jun 2016 05:54:44 +0200 -Subject: [PATCH] libxl: make use of e820_host feature -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Organization: Invisible Things Lab -Cc: Marek Marczykowski-Górecki - -Signed-off-by: Marek Marczykowski-Górecki ---- - src/libxl/libxl_conf.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c -index 398ca05060..034631af5a 100644 ---- a/src/libxl/libxl_conf.c -+++ b/src/libxl/libxl_conf.c -@@ -706,6 +706,20 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, - b_info->u.pv.kernel = g_strdup(def->os.kernel); - } - b_info->u.pv.ramdisk = g_strdup(def->os.initrd); -+ -+ if (def->features[VIR_DOMAIN_FEATURE_XEN] == VIR_TRISTATE_SWITCH_ON) { -+ switch ((virTristateSwitch) def->xen_features[VIR_DOMAIN_XEN_E820_HOST]) { -+ case VIR_TRISTATE_SWITCH_ON: -+ libxl_defbool_set(&b_info->u.pv.e820_host, true); -+ break; -+ case VIR_TRISTATE_SWITCH_OFF: -+ libxl_defbool_set(&b_info->u.pv.e820_host, false); -+ break; -+ case VIR_TRISTATE_SWITCH_ABSENT: -+ case VIR_TRISTATE_SWITCH_LAST: -+ break; -+ } -+ } - } - - /* only the 'xen' balloon device model is supported */ --- -2.21.0 - diff --git a/0014-libxl-add-support-for-stubdom_mem-option.patch b/0010-libxl-add-support-for-stubdom_mem-option.patch similarity index 87% rename from 0014-libxl-add-support-for-stubdom_mem-option.patch rename to 0010-libxl-add-support-for-stubdom_mem-option.patch index e17faa55..d21f2857 100644 --- a/0014-libxl-add-support-for-stubdom_mem-option.patch +++ b/0010-libxl-add-support-for-stubdom_mem-option.patch @@ -1,4 +1,4 @@ -From e9c68dfb8e2deac8feb3f2a4afade7ea1be769dc Mon Sep 17 00:00:00 2001 +From bef0d30f4f8bf0be46763ad3ae39f367b6802d18 Mon Sep 17 00:00:00 2001 From: HW42 Date: Sat, 22 Apr 2017 08:59:12 +0200 Subject: [PATCH] libxl: add support for stubdom_mem option @@ -17,10 +17,10 @@ Signed-off-by: Marek Marczykowski-Górecki 4 files changed, 35 insertions(+) diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng -index 699a80372a..919c8ca1ec 100644 +index 13769b796c..7d47989a53 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng -@@ -3226,6 +3226,11 @@ +@@ -3471,6 +3471,11 @@ @@ -32,7 +32,7 @@ index 699a80372a..919c8ca1ec 100644 -@@ -3236,6 +3241,11 @@ +@@ -3481,6 +3486,11 @@ stubdom-linux @@ -45,10 +45,10 @@ index 699a80372a..919c8ca1ec 100644 diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index 1327a77caa..507781c163 100644 +index 5c5769cd08..4cefaadb2c 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c -@@ -20953,6 +20953,17 @@ virDomainDefParseXML(xmlDocPtr xml, +@@ -21605,6 +21605,17 @@ virDomainDefParseXML(xmlDocPtr xml, } def->emulator_cmdline = virXPathString("string(./devices/emulator/@cmdline)", ctxt); @@ -66,7 +66,7 @@ index 1327a77caa..507781c163 100644 /* analysis of the disk devices */ if ((n = virXPathNodeSet("./devices/disk", ctxt, &nodes)) < 0) goto error; -@@ -23423,6 +23434,14 @@ virDomainDefCheckABIStabilityFlags(virDomainDefPtr src, +@@ -24130,6 +24141,14 @@ virDomainDefCheckABIStabilityFlags(virDomainDefPtr src, goto error; } @@ -81,7 +81,7 @@ index 1327a77caa..507781c163 100644 if (!virDomainDefFeaturesCheckABIStability(src, dst)) goto error; -@@ -28921,6 +28940,8 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, +@@ -29810,6 +29829,8 @@ virDomainDefFormatInternalSetRootName(virDomainDefPtr def, virBufferAsprintf(buf, " type='%s'", virDomainEmulatorTypeTypeToString(def->emulator_type)); } @@ -91,10 +91,10 @@ index 1327a77caa..507781c163 100644 if (!def->emulator) { virBufferAddLit(buf, "/>\n"); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h -index 46ff6d0301..8141a46102 100644 +index b7977a6d6a..86c8a12430 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h -@@ -2444,6 +2444,7 @@ struct _virDomainDef { +@@ -2548,6 +2548,7 @@ struct _virDomainDef { char *emulator; virDomainEmulatorType emulator_type; char *emulator_cmdline; @@ -103,10 +103,10 @@ index 46ff6d0301..8141a46102 100644 * to handle support. A few assign specific data values to the option. * See virDomainDefFeaturesCheckABIStability() for details. */ diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c -index a24639af43..a3cd025c47 100644 +index d1b1486cbf..ca4c6e3536 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c -@@ -592,6 +592,9 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, +@@ -616,6 +616,9 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, } } @@ -117,5 +117,5 @@ index a24639af43..a3cd025c47 100644 if (def->nserials == 1) { if (libxlMakeChrdevStr(def->serials[0], &b_info->u.hvm.serial) < -- -2.21.0 +2.21.1 diff --git a/0010-xenconfig-parse-e820_host-option.patch b/0010-xenconfig-parse-e820_host-option.patch deleted file mode 100644 index 9df1ae4b..00000000 --- a/0010-xenconfig-parse-e820_host-option.patch +++ /dev/null @@ -1,51 +0,0 @@ -From e1160c0683efd2602bcd2be64216cc8cbb8019e4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= - -Date: Thu, 2 Jun 2016 05:55:12 +0200 -Subject: [PATCH] xenconfig: parse e820_host option -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Organization: Invisible Things Lab -Cc: Marek Marczykowski-Górecki - -Signed-off-by: Marek Marczykowski-Górecki ---- - src/libxl/xen_common.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c -index 415549a42c..ddf4e782ac 100644 ---- a/src/libxl/xen_common.c -+++ b/src/libxl/xen_common.c -@@ -592,6 +592,14 @@ xenParseCPUFeatures(virConfPtr conf, - - def->clock.timers[def->clock.ntimers - 1] = timer; - } -+ } else { -+ if (xenConfigGetBool(conf, "e820_host", &val, 0) < 0) { -+ return -1; -+ -+ } else if (val) { -+ def->features[VIR_DOMAIN_FEATURE_XEN] = VIR_TRISTATE_SWITCH_ON; -+ def->xen_features[VIR_DOMAIN_XEN_E820_HOST] = VIR_TRISTATE_SWITCH_ON; -+ } - } - - return 0; -@@ -2138,6 +2146,12 @@ xenFormatCPUFeatures(virConfPtr conf, virDomainDefPtr def) - (def->features[VIR_DOMAIN_FEATURE_VIRIDIAN] == - VIR_TRISTATE_SWITCH_ON) ? 1 : 0) < 0) - return -1; -+ } else { -+ if (def->features[VIR_DOMAIN_FEATURE_XEN] == VIR_TRISTATE_SWITCH_ON) { -+ if (def->xen_features[VIR_DOMAIN_XEN_E820_HOST] == VIR_TRISTATE_SWITCH_ON) -+ if (xenConfigSetInt(conf, "e820_host", 1) < 0) -+ return -1; -+ } - } - - for (i = 0; i < def->clock.ntimers; i++) { --- -2.21.0 - diff --git a/0015-Add-permissive-option-for-PCI-devices.patch b/0011-Add-permissive-option-for-PCI-devices.patch similarity index 86% rename from 0015-Add-permissive-option-for-PCI-devices.patch rename to 0011-Add-permissive-option-for-PCI-devices.patch index 2d22b035..3294ab78 100644 --- a/0015-Add-permissive-option-for-PCI-devices.patch +++ b/0011-Add-permissive-option-for-PCI-devices.patch @@ -1,4 +1,4 @@ -From 9629a265e0850ec955a7b95dfb23914c89a97004 Mon Sep 17 00:00:00 2001 +From e4d32359968ccc9db2d2feeece02b03ffb0eb97e Mon Sep 17 00:00:00 2001 From: Simon Gaiser Date: Fri, 19 Jan 2018 04:46:01 +0100 Subject: [PATCH] Add 'permissive' option for PCI devices @@ -23,10 +23,10 @@ Signed-off-by: Marek Marczykowski-Górecki 5 files changed, 22 insertions(+) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in -index 8eaaaddc1c..e372940f9b 100644 +index e15054e517..9dc9048c6f 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in -@@ -4895,6 +4895,9 @@ +@@ -5139,6 +5139,9 @@ Additionally when strictreset is "no", device will be assigned to the domain, even when reset fails. The default is "yes". @@ -37,10 +37,10 @@ index 8eaaaddc1c..e372940f9b 100644
scsi
For SCSI devices, user is responsible to make sure the device diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng -index 919c8ca1ec..23cfd74c21 100644 +index 7d47989a53..011ce9f52b 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng -@@ -2855,6 +2855,11 @@ +@@ -3078,6 +3078,11 @@ @@ -53,10 +53,10 @@ index 919c8ca1ec..23cfd74c21 100644 diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c -index 507781c163..e8f78ab327 100644 +index 4cefaadb2c..8b818b74d5 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c -@@ -8274,6 +8274,7 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node, +@@ -8476,6 +8476,7 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node, virDomainHostdevSubsysMediatedDevPtr mdevsrc = &def->source.subsys.u.mdev; g_autofree char *managed = NULL; g_autofree char *nostrictreset = NULL; @@ -64,7 +64,7 @@ index 507781c163..e8f78ab327 100644 g_autofree char *sgio = NULL; g_autofree char *rawio = NULL; g_autofree char *backendStr = NULL; -@@ -8294,6 +8295,11 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node, +@@ -8496,6 +8497,11 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node, def->nostrictreset = true; } @@ -76,7 +76,7 @@ index 507781c163..e8f78ab327 100644 sgio = virXMLPropString(node, "sgio"); rawio = virXMLPropString(node, "rawio"); model = virXMLPropString(node, "model"); -@@ -25468,6 +25474,8 @@ virDomainActualNetDefFormat(virBufferPtr buf, +@@ -26293,6 +26299,8 @@ virDomainActualNetDefFormat(virBufferPtr buf, virBufferAddLit(buf, " managed='yes'"); if (hostdef && hostdef->nostrictreset) virBufferAddLit(buf, " nostrictreset='yes'"); @@ -85,7 +85,7 @@ index 507781c163..e8f78ab327 100644 } if (def->trustGuestRxFilters) virBufferAsprintf(buf, " trustGuestRxFilters='%s'", -@@ -25658,6 +25666,8 @@ virDomainNetDefFormat(virBufferPtr buf, +@@ -26483,6 +26491,8 @@ virDomainNetDefFormat(virBufferPtr buf, virBufferAddLit(buf, " managed='yes'"); if (hostdef && hostdef->nostrictreset) virBufferAddLit(buf, " nostrictreset='yes'"); @@ -94,7 +94,7 @@ index 507781c163..e8f78ab327 100644 if (def->trustGuestRxFilters) virBufferAsprintf(buf, " trustGuestRxFilters='%s'", virTristateBoolTypeToString(def->trustGuestRxFilters)); -@@ -27429,6 +27439,8 @@ virDomainHostdevDefFormat(virBufferPtr buf, +@@ -28277,6 +28287,8 @@ virDomainHostdevDefFormat(virBufferPtr buf, def->managed ? "yes" : "no"); if (def->nostrictreset) virBufferAddLit(buf, " nostrictreset='yes'"); @@ -104,10 +104,10 @@ index 507781c163..e8f78ab327 100644 if (def->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI && scsisrc->sgio) diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h -index 8141a46102..abed8c966c 100644 +index 86c8a12430..959f0d45b4 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h -@@ -345,6 +345,7 @@ struct _virDomainHostdevDef { +@@ -346,6 +346,7 @@ struct _virDomainHostdevDef { bool readonly; bool shareable; bool nostrictreset; @@ -116,10 +116,10 @@ index 8141a46102..abed8c966c 100644 virDomainHostdevSubsys subsys; virDomainHostdevCaps caps; diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c -index a3cd025c47..27de67d266 100644 +index ca4c6e3536..68df46735e 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c -@@ -2294,6 +2294,7 @@ libxlMakePCI(virDomainHostdevDefPtr hostdev, libxl_device_pci *pcidev) +@@ -2324,6 +2324,7 @@ libxlMakePCI(virDomainHostdevDefPtr hostdev, libxl_device_pci *pcidev) /* there is no LIBXL_HAVE_xxx for this field... */ if (hostdev->nostrictreset) pcidev->rdm_policy = LIBXL_RDM_RESERVE_POLICY_RELAXED; @@ -128,5 +128,5 @@ index a3cd025c47..27de67d266 100644 return 0; } -- -2.21.0 +2.21.1 diff --git a/0011-tests-check-e820_host-option-handling.patch b/0011-tests-check-e820_host-option-handling.patch deleted file mode 100644 index e97729fc..00000000 --- a/0011-tests-check-e820_host-option-handling.patch +++ /dev/null @@ -1,97 +0,0 @@ -From e20b546af5356bda0832d46d1882677c6f34d269 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= - -Date: Thu, 2 Jun 2016 05:55:39 +0200 -Subject: [PATCH] tests: check e820_host option handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Organization: Invisible Things Lab -Cc: Marek Marczykowski-Górecki - -Signed-off-by: Marek Marczykowski-Górecki ---- - .../xlconfigdata/test-paravirt-e820_host.cfg | 13 +++++++ - .../xlconfigdata/test-paravirt-e820_host.xml | 37 +++++++++++++++++++ - tests/xlconfigtest.c | 1 + - 3 files changed, 51 insertions(+) - create mode 100644 tests/xlconfigdata/test-paravirt-e820_host.cfg - create mode 100644 tests/xlconfigdata/test-paravirt-e820_host.xml - -diff --git a/tests/xlconfigdata/test-paravirt-e820_host.cfg b/tests/xlconfigdata/test-paravirt-e820_host.cfg -new file mode 100644 -index 0000000000..b9e5a482a4 ---- /dev/null -+++ b/tests/xlconfigdata/test-paravirt-e820_host.cfg -@@ -0,0 +1,13 @@ -+name = "XenGuest1" -+uuid = "45b60f51-88a9-47a8-a3b3-5e66d71b2283" -+maxmem = 512 -+memory = 512 -+vcpus = 4 -+e820_host = 1 -+localtime = 0 -+on_poweroff = "preserve" -+on_reboot = "restart" -+on_crash = "preserve" -+vif = [ "mac=5a:36:0e:be:00:09" ] -+bootloader = "/usr/bin/pygrub" -+disk = [ "format=qcow2,vdev=xvda,access=rw,backendtype=qdisk,target=/var/lib/xen/images/debian/disk.qcow2" ] -diff --git a/tests/xlconfigdata/test-paravirt-e820_host.xml b/tests/xlconfigdata/test-paravirt-e820_host.xml -new file mode 100644 -index 0000000000..955a780ffa ---- /dev/null -+++ b/tests/xlconfigdata/test-paravirt-e820_host.xml -@@ -0,0 +1,37 @@ -+ -+ XenGuest1 -+ 45b60f51-88a9-47a8-a3b3-5e66d71b2283 -+ 524288 -+ 524288 -+ 4 -+ /usr/bin/pygrub -+ -+ linux -+ -+ -+ -+ -+ -+ -+ -+ preserve -+ restart -+ preserve -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff --git a/tests/xlconfigtest.c b/tests/xlconfigtest.c -index 4e4b28cd34..108864f3b3 100644 ---- a/tests/xlconfigtest.c -+++ b/tests/xlconfigtest.c -@@ -298,6 +298,7 @@ mymain(void) - DO_TEST("vif-multi-ip"); - DO_TEST("usb"); - DO_TEST("usbctrl"); -+ DO_TEST("paravirt-e820_host"); - - testXLFreeDriver(driver); - --- -2.21.0 - diff --git a/0016-libxl-initialize-shutdown-inhibit-callback.patch b/0016-libxl-initialize-shutdown-inhibit-callback.patch deleted file mode 100644 index 75ec2894..00000000 --- a/0016-libxl-initialize-shutdown-inhibit-callback.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 5742ec50c9bce543a07dc0af9954b57b5458d298 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= - -Date: Sat, 18 Jan 2020 03:21:03 +0100 -Subject: [PATCH] libxl: initialize shutdown inhibit callback -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Organization: Invisible Things Lab -Cc: Marek Marczykowski-Górecki - -The libxl driver already tries to call shutdown inhibit callback in the -right places, but only if it's set. That last part was missing, -resulting in premature shutdown when running libvirtd ---timeout=... - -Signed-off-by: Marek Marczykowski-Górecki ---- - src/libxl/libxl_driver.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c -index bece313ec5..d45e42c100 100644 ---- a/src/libxl/libxl_driver.c -+++ b/src/libxl/libxl_driver.c -@@ -648,8 +648,8 @@ libxlAddDom0(libxlDriverPrivatePtr driver) - - static int - libxlStateInitialize(bool privileged, -- virStateInhibitCallback callback G_GNUC_UNUSED, -- void *opaque G_GNUC_UNUSED) -+ virStateInhibitCallback callback, -+ void *opaque) - { - libxlDriverConfigPtr cfg; - char *driverConf = NULL; -@@ -670,6 +670,9 @@ libxlStateInitialize(bool privileged, - return VIR_DRV_STATE_INIT_ERROR; - } - -+ libxl_driver->inhibitCallback = callback; -+ libxl_driver->inhibitOpaque = opaque; -+ - /* Allocate bitmap for vnc port reservation */ - if (!(libxl_driver->reservedGraphicsPorts = - virPortAllocatorRangeNew(_("VNC"), --- -2.21.0 - diff --git a/libvirt.spec.in b/libvirt.spec.in index c6f9c480..5e803648 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -286,15 +286,10 @@ Patch0004: 0004-libxl-support-domain-config-modification-in-virDomai.patch Patch0005: 0005-Add-nostrictreset-attribute-to-PCI-host-devices.patch Patch0006: 0006-libxl-pause-also-stubdomain-if-any-while-pausing-a-d.patch Patch0007: 0007-libxl-plug-workaround-for-missing-pcidev-group-assig.patch -Patch0008: 0008-conf-add-xen-specific-feature-e820_host.patch -Patch0009: 0009-libxl-make-use-of-e820_host-feature.patch -Patch0010: 0010-xenconfig-parse-e820_host-option.patch -Patch0011: 0011-tests-check-e820_host-option-handling.patch -Patch0012: 0012-libxl-add-linux-stubdom-support.patch -Patch0013: 0013-libxl-add-support-for-qubes-graphic-device.patch -Patch0014: 0014-libxl-add-support-for-stubdom_mem-option.patch -Patch0015: 0015-Add-permissive-option-for-PCI-devices.patch -Patch0016: 0016-libxl-initialize-shutdown-inhibit-callback.patch +Patch0008: 0008-libxl-add-linux-stubdom-support.patch +Patch0009: 0009-libxl-add-support-for-qubes-graphic-device.patch +Patch0010: 0010-libxl-add-support-for-stubdom_mem-option.patch +Patch0011: 0011-Add-permissive-option-for-PCI-devices.patch Requires: libvirt-daemon = %{epoch}:%{version}-%{release} %if %{with_network} @@ -408,8 +403,13 @@ BuildRequires: device-mapper-devel # For XFS reflink clone support BuildRequires: xfsprogs-devel %if %{with_storage_rbd} + %if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: librados-devel +BuildRequires: librbd-devel + %else BuildRequires: librados2-devel BuildRequires: librbd1-devel + %endif %endif %if %{with_storage_gluster} BuildRequires: glusterfs-api-devel >= 3.4.1 @@ -1236,27 +1236,6 @@ exit 1 %define arg_selinux_mount --with-selinux-mount="/sys/fs/selinux" -%if 0%{?fedora} - # Nightly edk2.git-ovmf-x64 - LOADERS="/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd:/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd" - # Nightly edk2.git-ovmf-ia32 - LOADERS="$LOADERS:/usr/share/edk2.git/ovmf-ia32/OVMF_CODE-pure-efi.fd:/usr/share/edk2.git/ovmf-ia32/OVMF_VARS-pure-efi.fd" - # Nightly edk2.git-aarch64 - LOADERS="$LOADERS:/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw" - # Nightly edk2.git-arm - LOADERS="$LOADERS:/usr/share/edk2.git/arm/QEMU_EFI-pflash.raw:/usr/share/edk2.git/arm/vars-template-pflash.raw" - - # Fedora edk2-ovmf - LOADERS="$LOADERS:/usr/share/edk2/ovmf/OVMF_CODE.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd" - # Fedora edk2-ovmf-ia32 - LOADERS="$LOADERS:/usr/share/edk2/ovmf-ia32/OVMF_CODE.fd:/usr/share/edk2/ovmf-ia32/OVMF_VARS.fd" - # Fedora edk2-aarch64 - LOADERS="$LOADERS:/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw" - # Fedora edk2-arm - LOADERS="$LOADERS:/usr/share/edk2/arm/QEMU_EFI-pflash.raw:/usr/share/edk2/arm/vars-template-pflash.raw" - %define arg_loader_nvram --with-loader-nvram="$LOADERS" -%endif - # place macros above and build commands below this comment # Disabled in Qubes because we generate spec; on the other hand, we get @@ -1330,7 +1309,6 @@ cd %{_vpath_builddir} --with-qemu-user=%{qemu_user} \ --with-qemu-group=%{qemu_group} \ --with-tls-priority=%{tls_priority} \ - %{?arg_loader_nvram} \ %{?enable_werror} \ --enable-expensive-tests \ --with-init-script=systemd \ @@ -1449,7 +1427,7 @@ do done if ! make %{?_smp_mflags} check VIR_TEST_DEBUG=1 then - cat test-suite.log || true + cat tests/test-suite.log || true exit 1 fi @@ -1665,7 +1643,7 @@ exit 0 %files %files docs -%doc AUTHORS NEWS README README.md +%doc AUTHORS ChangeLog NEWS README README.rst %doc %{_vpath_builddir}/libvirt-docs/* %files daemon @@ -1692,6 +1670,7 @@ exit 0 %{_unitdir}/virtlockd.socket %{_unitdir}/virtlockd-admin.socket %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd +%config(noreplace) %{_sysconfdir}/sysconfig/virtproxyd %config(noreplace) %{_sysconfdir}/sysconfig/virtlogd %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf @@ -1762,6 +1741,7 @@ exit 0 %ghost %{_sysconfdir}/libvirt/nwfilter/*.xml %files daemon-driver-interface +%config(noreplace) %{_sysconfdir}/sysconfig/virtinterfaced %config(noreplace) %{_sysconfdir}/libvirt/virtinterfaced.conf %{_datadir}/augeas/lenses/virtinterfaced.aug %{_datadir}/augeas/lenses/tests/test_virtinterfaced.aug @@ -1774,6 +1754,7 @@ exit 0 %if %{with_network} %files daemon-driver-network +%config(noreplace) %{_sysconfdir}/sysconfig/virtnetworkd %config(noreplace) %{_sysconfdir}/libvirt/virtnetworkd.conf %{_datadir}/augeas/lenses/virtnetworkd.aug %{_datadir}/augeas/lenses/tests/test_virtnetworkd.aug @@ -1797,6 +1778,7 @@ exit 0 %endif %files daemon-driver-nodedev +%config(noreplace) %{_sysconfdir}/sysconfig/virtnodedevd %config(noreplace) %{_sysconfdir}/libvirt/virtnodedevd.conf %{_datadir}/augeas/lenses/virtnodedevd.aug %{_datadir}/augeas/lenses/tests/test_virtnodedevd.aug @@ -1808,6 +1790,7 @@ exit 0 %{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so %files daemon-driver-nwfilter +%config(noreplace) %{_sysconfdir}/sysconfig/virtnwfilterd %config(noreplace) %{_sysconfdir}/libvirt/virtnwfilterd.conf %{_datadir}/augeas/lenses/virtnwfilterd.aug %{_datadir}/augeas/lenses/tests/test_virtnwfilterd.aug @@ -1821,6 +1804,7 @@ exit 0 %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so %files daemon-driver-secret +%config(noreplace) %{_sysconfdir}/sysconfig/virtsecretd %config(noreplace) %{_sysconfdir}/libvirt/virtsecretd.conf %{_datadir}/augeas/lenses/virtsecretd.aug %{_datadir}/augeas/lenses/tests/test_virtsecretd.aug @@ -1834,6 +1818,7 @@ exit 0 %files daemon-driver-storage %files daemon-driver-storage-core +%config(noreplace) %{_sysconfdir}/sysconfig/virtstoraged %config(noreplace) %{_sysconfdir}/libvirt/virtstoraged.conf %{_datadir}/augeas/lenses/virtstoraged.aug %{_datadir}/augeas/lenses/tests/test_virtstoraged.aug @@ -1890,6 +1875,7 @@ exit 0 %if %{with_qemu} %files daemon-driver-qemu +%config(noreplace) %{_sysconfdir}/sysconfig/virtqemud %config(noreplace) %{_sysconfdir}/libvirt/virtqemud.conf %{_datadir}/augeas/lenses/virtqemud.aug %{_datadir}/augeas/lenses/tests/test_virtqemud.aug @@ -1911,10 +1897,13 @@ exit 0 %{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/swtpm/ %dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/libvirt/qemu/ +%{_bindir}/virt-qemu-run +%{_mandir}/man1/virt-qemu-run.1* %endif %if %{with_lxc} %files daemon-driver-lxc +%config(noreplace) %{_sysconfdir}/sysconfig/virtlxcd %config(noreplace) %{_sysconfdir}/libvirt/virtlxcd.conf %{_datadir}/augeas/lenses/virtlxcd.aug %{_datadir}/augeas/lenses/tests/test_virtlxcd.aug @@ -1936,6 +1925,7 @@ exit 0 %if %{with_libxl} %files daemon-driver-libxl +%config(noreplace) %{_sysconfdir}/sysconfig/virtxend %config(noreplace) %{_sysconfdir}/libvirt/virtxend.conf %{_datadir}/augeas/lenses/virtxend.aug %{_datadir}/augeas/lenses/tests/test_virtxend.aug @@ -1957,6 +1947,7 @@ exit 0 %if %{with_vbox} %files daemon-driver-vbox +%config(noreplace) %{_sysconfdir}/sysconfig/virtvboxd %config(noreplace) %{_sysconfdir}/libvirt/virtvboxd.conf %{_datadir}/augeas/lenses/virtvboxd.aug %{_datadir}/augeas/lenses/tests/test_virtvboxd.aug diff --git a/version b/version index 09b254e9..798e3899 100644 --- a/version +++ b/version @@ -1 +1 @@ -6.0.0 +6.3.0