summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEduardo Habkost2016-09-21 01:57:00 +0200
committerEduardo Habkost2016-09-27 21:17:17 +0200
commitdf3e9af8fd02f22d03871975daa23ecbfcd48490 (patch)
treeaa808440e970ac58341e740be309490611e32a68
parenttests: Add test code for CPUID level/xlevel handling (diff)
downloadqemu-df3e9af8fd02f22d03871975daa23ecbfcd48490.tar.gz
qemu-df3e9af8fd02f22d03871975daa23ecbfcd48490.tar.xz
qemu-df3e9af8fd02f22d03871975daa23ecbfcd48490.zip
tests: Test CPUID level handling for old machines
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>
-rw-r--r--tests/test-x86-cpuid-compat.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/test-x86-cpuid-compat.c b/tests/test-x86-cpuid-compat.c
index b81cfeb25e..f7003ee39d 100644
--- a/tests/test-x86-cpuid-compat.c
+++ b/tests/test-x86-cpuid-compat.c
@@ -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();
}