Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
tests/cputest.c | 2 +
tests/cputestdata/x86-cpuid-A10-5800K-guest.xml | 26 +++++++++
tests/cputestdata/x86-cpuid-A10-5800K-host.xml | 26 +++++++++
tests/cputestdata/x86-cpuid-A10-5800K-json.xml | 16 +++++
tests/cputestdata/x86-cpuid-A10-5800K.json | 77 +++++++++++++++++++++++++
tests/cputestdata/x86-cpuid-A10-5800K.xml | 50 ++++++++++++++++
6 files changed, 197 insertions(+)
create mode 100644 tests/cputestdata/x86-cpuid-A10-5800K-guest.xml
create mode 100644 tests/cputestdata/x86-cpuid-A10-5800K-host.xml
create mode 100644 tests/cputestdata/x86-cpuid-A10-5800K-json.xml
create mode 100644 tests/cputestdata/x86-cpuid-A10-5800K.json
create mode 100644 tests/cputestdata/x86-cpuid-A10-5800K.xml
diff --git a/tests/cputest.c b/tests/cputest.c
index 2b243bb..16be652 100644
--- a/tests/cputest.c
+++ b/tests/cputest.c
@@ -841,6 +841,8 @@ mymain(void)
DO_TEST_GUESTDATA("ppc64", "host",
"guest-legacy-incompatible", ppc_models, NULL, -1);
DO_TEST_GUESTDATA("ppc64", "host",
"guest-legacy-invalid", ppc_models, NULL, -1);
+ DO_TEST_CPUID("x86", "A10-5800K", true);
+
#if WITH_QEMU && WITH_YAJL
qemuTestDriverFree(&driver);
#endif
diff --git a/tests/cputestdata/x86-cpuid-A10-5800K-guest.xml
b/tests/cputestdata/x86-cpuid-A10-5800K-guest.xml
new file mode 100644
index 0000000..ded7b30
--- /dev/null
+++ b/tests/cputestdata/x86-cpuid-A10-5800K-guest.xml
@@ -0,0 +1,26 @@
+<cpu mode='custom' match='exact'>
+ <arch>x86_64</arch>
+ <model fallback='forbid'>Opteron_G5</model>
+ <vendor>AMD</vendor>
+ <feature policy='require' name='vme'/>
+ <feature policy='require' name='ht'/>
+ <feature policy='require' name='monitor'/>
+ <feature policy='require' name='osxsave'/>
+ <feature policy='require' name='mmxext'/>
+ <feature policy='require' name='fxsr_opt'/>
+ <feature policy='require' name='cmp_legacy'/>
+ <feature policy='require' name='extapic'/>
+ <feature policy='require' name='cr8legacy'/>
+ <feature policy='require' name='osvw'/>
+ <feature policy='require' name='ibs'/>
+ <feature policy='require' name='skinit'/>
+ <feature policy='require' name='wdt'/>
+ <feature policy='require' name='lwp'/>
+ <feature policy='require' name='tce'/>
+ <feature policy='require' name='nodeid_msr'/>
+ <feature policy='require' name='topoext'/>
+ <feature policy='require' name='perfctr_core'/>
+ <feature policy='require' name='perfctr_nb'/>
+ <feature policy='require' name='bmi1'/>
+ <feature policy='require' name='invtsc'/>
+</cpu>
diff --git a/tests/cputestdata/x86-cpuid-A10-5800K-host.xml
b/tests/cputestdata/x86-cpuid-A10-5800K-host.xml
new file mode 100644
index 0000000..4ee57d2
--- /dev/null
+++ b/tests/cputestdata/x86-cpuid-A10-5800K-host.xml
@@ -0,0 +1,26 @@
+<cpu>
+ <arch>x86_64</arch>
+ <model>Opteron_G5</model>
+ <vendor>AMD</vendor>
+ <feature name='vme'/>
+ <feature name='ht'/>
+ <feature name='monitor'/>
+ <feature name='osxsave'/>
+ <feature name='mmxext'/>
+ <feature name='fxsr_opt'/>
+ <feature name='cmp_legacy'/>
+ <feature name='extapic'/>
+ <feature name='cr8legacy'/>
+ <feature name='osvw'/>
+ <feature name='ibs'/>
+ <feature name='skinit'/>
+ <feature name='wdt'/>
+ <feature name='lwp'/>
+ <feature name='tce'/>
+ <feature name='nodeid_msr'/>
+ <feature name='topoext'/>
+ <feature name='perfctr_core'/>
+ <feature name='perfctr_nb'/>
+ <feature name='bmi1'/>
+ <feature name='invtsc'/>
+</cpu>
diff --git a/tests/cputestdata/x86-cpuid-A10-5800K-json.xml
b/tests/cputestdata/x86-cpuid-A10-5800K-json.xml
new file mode 100644
index 0000000..6ebef60
--- /dev/null
+++ b/tests/cputestdata/x86-cpuid-A10-5800K-json.xml
@@ -0,0 +1,16 @@
+<cpu mode='custom' match='exact'>
+ <arch>x86_64</arch>
+ <model fallback='forbid'>Opteron_G5</model>
+ <feature policy='require' name='vme'/>
+ <feature policy='require' name='x2apic'/>
+ <feature policy='require' name='hypervisor'/>
+ <feature policy='require' name='mmxext'/>
+ <feature policy='require' name='fxsr_opt'/>
+ <feature policy='require' name='cmp_legacy'/>
+ <feature policy='require' name='cr8legacy'/>
+ <feature policy='require' name='osvw'/>
+ <feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='bmi1'/>
+ <feature policy='disable' name='rdtscp'/>
+ <feature policy='disable' name='svm'/>
+</cpu>
diff --git a/tests/cputestdata/x86-cpuid-A10-5800K.json
b/tests/cputestdata/x86-cpuid-A10-5800K.json
new file mode 100644
index 0000000..53b39ad
--- /dev/null
+++ b/tests/cputestdata/x86-cpuid-A10-5800K.json
@@ -0,0 +1,77 @@
+{
+ "return": [
+ {
+ "cpuid-register": "EAX",
+ "cpuid-input-ecx": 1,
+ "cpuid-input-eax": 13,
+ "features": 0
+ },
+ {
+ "cpuid-register": "EDX",
+ "cpuid-input-eax": 2147483658,
+ "features": 9
+ },
+ {
+ "cpuid-register": "EAX",
+ "cpuid-input-eax": 1073741825,
+ "features": 16777467
+ },
+ {
+ "cpuid-register": "EDX",
+ "cpuid-input-eax": 3221225473,
+ "features": 0
+ },
+ {
+ "cpuid-register": "EDX",
+ "cpuid-input-eax": 2147483655,
+ "features": 0
+ },
+ {
+ "cpuid-register": "ECX",
+ "cpuid-input-eax": 2147483649,
+ "features": 2165747
+ },
+ {
+ "cpuid-register": "EDX",
+ "cpuid-input-eax": 2147483649,
+ "features": 642779136
+ },
+ {
+ "cpuid-register": "EBX",
+ "cpuid-input-ecx": 0,
+ "cpuid-input-eax": 7,
+ "features": 10
+ },
+ {
+ "cpuid-register": "ECX",
+ "cpuid-input-eax": 1,
+ "features": 3065524739
+ },
+ {
+ "cpuid-register": "EDX",
+ "cpuid-input-eax": 1,
+ "features": 126614527
+ }
+ ],
+ "id": "feature-words"
+}
+
+{
+ "return": 21,
+ "id": "family"
+}
+
+{
+ "return": 16,
+ "id": "model"
+}
+
+{
+ "return": 1,
+ "id": "stepping"
+}
+
+{
+ "return": "AMD A10-5800K APU with Radeon(tm) HD Graphics ",
+ "id": "model-id"
+}
diff --git a/tests/cputestdata/x86-cpuid-A10-5800K.xml
b/tests/cputestdata/x86-cpuid-A10-5800K.xml
new file mode 100644
index 0000000..2889056
--- /dev/null
+++ b/tests/cputestdata/x86-cpuid-A10-5800K.xml
@@ -0,0 +1,50 @@
+<!-- AMD A10-5800K APU with Radeon(tm) HD Graphics -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000000' ecx_in='0x00' eax='0x0000000d'
ebx='0x68747541' ecx='0x444d4163' edx='0x69746e65'/>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00610f01'
ebx='0x00040800' ecx='0x3e98320b' edx='0x178bfbff'/>
+ <cpuid eax_in='0x00000002' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000003' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000005' ecx_in='0x00' eax='0x00000040'
ebx='0x00000040' ecx='0x00000003' edx='0x00000000'/>
+ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000001' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000'
ebx='0x00000008' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000008' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000009' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000a' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000c' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x00' eax='0x00000007'
ebx='0x00000340' ecx='0x000003c0' edx='0x40000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x02' eax='0x00000100'
ebx='0x00000240' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x3e' eax='0x00000080'
ebx='0x00000340' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000000' ecx_in='0x00' eax='0x8000001e'
ebx='0x68747541' ecx='0x444d4163' edx='0x69746e65'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00610f01'
ebx='0x20000000' ecx='0x01ebbfff' edx='0x2fd3fbff'/>
+ <cpuid eax_in='0x80000002' ecx_in='0x00' eax='0x20444d41'
ebx='0x2d303141' ecx='0x30303835' edx='0x5041204b'/>
+ <cpuid eax_in='0x80000003' ecx_in='0x00' eax='0x69772055'
ebx='0x52206874' ecx='0x6f656461' edx='0x6d74286e'/>
+ <cpuid eax_in='0x80000004' ecx_in='0x00' eax='0x44482029'
ebx='0x61724720' ecx='0x63696870' edx='0x00202073'/>
+ <cpuid eax_in='0x80000005' ecx_in='0x00' eax='0xff40ff18'
ebx='0xff40ff30' ecx='0x10040140' edx='0x40020140'/>
+ <cpuid eax_in='0x80000006' ecx_in='0x00' eax='0x64006400'
ebx='0x64004200' ecx='0x08008140' edx='0x00000000'/>
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x000007d9'/>
+ <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00003030'
ebx='0x00000000' ecx='0x00004003' edx='0x00000000'/>
+ <cpuid eax_in='0x80000009' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000001'
ebx='0x00010000' ecx='0x00000000' edx='0x00001cff'/>
+ <cpuid eax_in='0x8000000b' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000c' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000d' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000e' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000000f' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000010' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000011' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000012' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000013' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000014' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000015' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000016' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000017' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000018' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000019' ecx_in='0x00' eax='0xf040f018'
ebx='0x64006400' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001a' ecx_in='0x00' eax='0x00000003'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001b' ecx_in='0x00' eax='0x000000ff'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001c' ecx_in='0x00' eax='0x00000000'
ebx='0x80032013' ecx='0x00010200' edx='0x8000000f'/>
+ <cpuid eax_in='0x8000001d' ecx_in='0x00' eax='0x00000121'
ebx='0x00c0003f' ecx='0x0000003f' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001e' ecx_in='0x00' eax='0x00000010'
ebx='0x00000100' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80860000' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0xc0000000' ecx_in='0x00' eax='0x00000000'
ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+</cpudata>
--
2.8.3