From 0dbfb399cd6f6a643a57f33b99ab7b66fe135175 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Fri, 10 Jun 2016 02:22:25 +0200 Subject: [PATCH] virtinst: prepare XML parsers to handle GIC for ARM GIC is used instead of APIC on ARM and libvirt allows configure specific version of GIC for guests. Signed-off-by: Pavel Hrdina --- tests/xmlparse.py | 1 + virtinst/domainfeatures.py | 3 ++- virtinst/domcapabilities.py | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/xmlparse.py b/tests/xmlparse.py index fa7eb5a0..7a763b8e 100644 --- a/tests/xmlparse.py +++ b/tests/xmlparse.py @@ -165,6 +165,7 @@ class XMLParseTest(unittest.TestCase): check("vmport", False, True) check("kvm_hidden", None, True) check("pvspinlock", None, True) + check("gic_version", None, False) check = self._make_checker(guest.cpu) check("match", "exact", "strict") diff --git a/virtinst/domainfeatures.py b/virtinst/domainfeatures.py index 85159432..81135680 100644 --- a/virtinst/domainfeatures.py +++ b/virtinst/domainfeatures.py @@ -25,7 +25,7 @@ class DomainFeatures(XMLBuilder): Class for generating XML """ _XML_ROOT_NAME = "features" - _XML_PROP_ORDER = ["acpi", "apic", "pae"] + _XML_PROP_ORDER = ["acpi", "apic", "pae", "gic_version"] acpi = XMLProperty("./acpi", is_bool=True, default_name="default", default_cb=lambda s: False) @@ -33,6 +33,7 @@ class DomainFeatures(XMLBuilder): default_name="default", default_cb=lambda s: False) pae = XMLProperty("./pae", is_bool=True, default_name="default", default_cb=lambda s: False) + gic_version = XMLProperty("./gic/@version") hap = XMLProperty("./hap", is_bool=True) viridian = XMLProperty("./viridian", is_bool=True) diff --git a/virtinst/domcapabilities.py b/virtinst/domcapabilities.py index 1bf3c601..874fa1e2 100644 --- a/virtinst/domcapabilities.py +++ b/virtinst/domcapabilities.py @@ -71,6 +71,11 @@ class _Devices(_CapsBlock): disk = XMLChildProperty(_make_capsblock("disk"), is_single=True) +class _Features(_CapsBlock): + _XML_ROOT_NAME = "features" + gic = XMLChildProperty(_make_capsblock("gic"), is_single=True) + + class DomainCapabilities(XMLBuilder): @staticmethod def build_from_params(conn, emulator, arch, machine, hvtype): @@ -161,3 +166,4 @@ class DomainCapabilities(XMLBuilder): devices = XMLChildProperty(_Devices, is_single=True) arch = XMLProperty("./arch") + features = XMLChildProperty(_Features, is_single=True)