From a900ca14e3cf0c496c8cdcf986a9d386c372e86a Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Fri, 27 Sep 2013 15:35:27 -0400 Subject: [PATCH] domainfeatures: Fill out XML support --- tests/xmlparse-xml/change-guest-in.xml | 6 +++++- tests/xmlparse-xml/change-guest-out.xml | 7 ++++++- tests/xmlparse.py | 12 ++++++++++-- virtinst/domainfeatures.py | 21 +++++++++++++++------ 4 files changed, 36 insertions(+), 10 deletions(-) diff --git a/tests/xmlparse-xml/change-guest-in.xml b/tests/xmlparse-xml/change-guest-in.xml index bbba7a47d..e5bac015d 100644 --- a/tests/xmlparse-xml/change-guest-in.xml +++ b/tests/xmlparse-xml/change-guest-in.xml @@ -8,7 +8,11 @@ - + + + + + diff --git a/tests/xmlparse-xml/change-guest-out.xml b/tests/xmlparse-xml/change-guest-out.xml index 51c373373..3e1772e93 100644 --- a/tests/xmlparse-xml/change-guest-out.xml +++ b/tests/xmlparse-xml/change-guest-out.xml @@ -11,7 +11,12 @@ - + + + + + + diff --git a/tests/xmlparse.py b/tests/xmlparse.py index 52b56d481..f419c40fb 100644 --- a/tests/xmlparse.py +++ b/tests/xmlparse.py @@ -146,8 +146,16 @@ class XMLParseTest(unittest.TestCase): check = self._make_checker(guest.features) check("acpi", True, False) - check("apic", True, False, True) - check("pae", False, True, False) + check("apic", True, True) + check("eoi", None, True) + check("pae", False, False) + check("viridian", False, True) + check("hap", False, False) + check("privnet", False, False) + check("hyperv_relaxed", None, True) + check("hyperv_vapic", False, None) + check("hyperv_spinlocks", True, True) + check("hyperv_spinlocks_retries", 12287, 54321) check = self._make_checker(guest.cpu) check("match", "exact", "strict") diff --git a/virtinst/domainfeatures.py b/virtinst/domainfeatures.py index 1049c00cd..8149cbeb1 100644 --- a/virtinst/domainfeatures.py +++ b/virtinst/domainfeatures.py @@ -28,11 +28,20 @@ class DomainFeatures(XMLBuilder): _XML_PROP_ORDER = ["acpi", "apic", "pae"] acpi = XMLProperty("./acpi", is_bool=True, - default_name="default", - default_cb=lambda s: False) + default_name="default", default_cb=lambda s: False) apic = XMLProperty("./apic", is_bool=True, - default_name="default", - default_cb=lambda s: False) + default_name="default", default_cb=lambda s: False) pae = XMLProperty("./pae", is_bool=True, - default_name="default", - default_cb=lambda s: False) + default_name="default", default_cb=lambda s: False) + + hap = XMLProperty("./hap", is_bool=True) + viridian = XMLProperty("./viridian", is_bool=True) + privnet = XMLProperty("./privnet", is_bool=True) + + eoi = XMLProperty("./apic/@eoi", is_onoff=True) + + hyperv_vapic = XMLProperty("./hyperv/vapic/@state", is_onoff=True) + hyperv_relaxed = XMLProperty("./hyperv/relaxed/@state", is_onoff=True) + hyperv_spinlocks = XMLProperty("./hyperv/spinlocks/@state", is_onoff=True) + hyperv_spinlocks_retries = XMLProperty("./hyperv/spinlocks/@retries", + is_int=True)