]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
cputest: Add cpuidLeaf helper to cpu-cpuid.py
authorJiri Denemark <jdenemar@redhat.com>
Wed, 15 Mar 2017 13:29:30 +0000 (14:29 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Mon, 27 Mar 2017 14:29:27 +0000 (16:29 +0200)
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
tests/cputestdata/cpu-cpuid.py

index 9ea858d98f9698e18e64a70e1a23b224dd4429ea..f4cf6d4408654976e1350d38cf52a74cad715b86 100755 (executable)
@@ -189,6 +189,18 @@ def cpuidIsSet(cpuid, feature):
                 (edx > 0 and leaf["edx"] & edx > 0))
 
 
+def cpuidLeaf(cpuid, in_eax, in_ecx):
+    if in_eax not in cpuid:
+        cpuid[in_eax] = {}
+    leaf = cpuid[in_eax]
+
+    if in_ecx not in leaf:
+        leaf[in_ecx] = {"eax": 0, "ebx": 0, "ecx": 0, "edx": 0}
+    leaf = leaf[in_ecx]
+
+    return leaf
+
+
 def parseFeatureWords(path):
     features = None
 
@@ -222,14 +234,7 @@ def parseFeatureWords(path):
         if "cpuid-input-ecx" in feat:
             in_ecx = feat["cpuid-input-ecx"]
 
-        if in_eax not in cpuid:
-            cpuid[in_eax] = {}
-        leaf = cpuid[in_eax]
-
-        if in_ecx not in leaf:
-            leaf[in_ecx] = {"eax": 0, "ebx": 0, "ecx": 0, "edx": 0}
-        leaf = leaf[in_ecx]
-
+        leaf = cpuidLeaf(cpuid, in_eax, in_ecx)
         leaf[feat["cpuid-register"].lower()] = feat["features"]
 
     return props, cpuid