]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
tests: Test CPUID level handling for old machines
authorEduardo Habkost <ehabkost@redhat.com>
Tue, 20 Sep 2016 23:57:00 +0000 (20:57 -0300)
committerEduardo Habkost <ehabkost@redhat.com>
Tue, 27 Sep 2016 19:17:17 +0000 (16:17 -0300)
We're going to change the way level/xlevel/xlevel2 are handled
when enabling features, but we need to keep the old behavior on
existing machine types. Add test cases for that.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
tests/test-x86-cpuid-compat.c

index b81cfeb25e41da4f0ba2ba61897a17673ffec846..f7003ee39d1fa99fbceff6c1f817d9424f55c902 100644 (file)
@@ -104,5 +104,18 @@ int main(int argc, char **argv)
                    "-cpu 486,xlevel2=0xC0000002,+xstore",
                    "xlevel2", 0xC0000002);
 
+    /* Check compatibility of old machine-types that didn't
+     * auto-increase level/xlevel/xlevel2: */
+
+    add_cpuid_test("x86/cpuid/auto-level/pc-2.7",
+                   "-machine pc-i440fx-2.7 -cpu 486,+arat,+avx512vbmi,+xsaveopt",
+                   "level", 1);
+    add_cpuid_test("x86/cpuid/auto-xlevel/pc-2.7",
+                   "-machine pc-i440fx-2.7 -cpu 486,+3dnow,+sse4a,+invtsc,+npt",
+                   "xlevel", 0);
+    add_cpuid_test("x86/cpuid/auto-xlevel2/pc-2.7",
+                   "-machine pc-i440fx-2.7 -cpu 486,+xstore",
+                   "xlevel2", 0);
+
     return g_test_run();
 }