Accepting request 526415 from home:jfehlig:branches:Virtualization

- cpu: Add new EPYC CPU model
  92bd87a2-ryzen-test-data.patch, 5c83b360-epyc-test-data.patch,
  a0b62843-epyc-cpu-model.patch
  bsc#1052825

OBS-URL: https://build.opensuse.org/request/show/526415
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=620
This commit is contained in:
James Fehlig 2017-09-15 18:42:21 +00:00 committed by Git OBS Bridge
parent d6f1cec2cb
commit f46b5b7971
6 changed files with 1343 additions and 1 deletions

View File

@ -0,0 +1,490 @@
commit 5c83b3603cc01c29af3c21d6beec549c3c0f9a1e
Author: Jiri Denemark <jdenemar@redhat.com>
Date: Thu Sep 7 12:58:41 2017 +0200
tests: Add CPUID data for AMD EPYC 7601 32-Core Processor
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Index: libvirt-3.7.0/tests/cputest.c
===================================================================
--- libvirt-3.7.0.orig/tests/cputest.c
+++ libvirt-3.7.0/tests/cputest.c
@@ -994,6 +994,7 @@ mymain(void)
DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-5600U-arat", true);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Core2-E6850", true);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Core2-Q9500", false);
+ DO_TEST_CPUID(VIR_ARCH_X86_64, "EPYC-7601-32-Core", true);
DO_TEST_CPUID(VIR_ARCH_X86_64, "FX-8150", false);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-1352", false);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-2350", true);
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml
@@ -0,0 +1,8 @@
+<!-- Features disabled by QEMU -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x08000008' edx='0x10000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/>
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
+ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/>
+</cpudata>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-enabled.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-enabled.xml
@@ -0,0 +1,10 @@
+<!-- Features enabled by QEMU -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0xf7f83203' edx='0x078bfbff'/>
+ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x209c01ab' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000007' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x40000001' ecx_in='0x00' eax='0x010000fa' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x000003f3' edx='0x2e500800'/>
+ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000009'/>
+</cpudata>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml
@@ -0,0 +1,40 @@
+<cpu mode='custom' match='exact'>
+ <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='movbe'/>
+ <feature policy='require' name='osxsave'/>
+ <feature policy='require' name='rdrand'/>
+ <feature policy='require' name='arat'/>
+ <feature policy='require' name='fsgsbase'/>
+ <feature policy='require' name='bmi1'/>
+ <feature policy='require' name='avx2'/>
+ <feature policy='require' name='smep'/>
+ <feature policy='require' name='bmi2'/>
+ <feature policy='require' name='rdseed'/>
+ <feature policy='require' name='adx'/>
+ <feature policy='require' name='smap'/>
+ <feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='xsaveopt'/>
+ <feature policy='require' name='xsavec'/>
+ <feature policy='require' name='xgetbv1'/>
+ <feature policy='require' name='xsaves'/>
+ <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='skinit'/>
+ <feature policy='require' name='wdt'/>
+ <feature policy='require' name='tce'/>
+ <feature policy='require' name='topoext'/>
+ <feature policy='require' name='perfctr_core'/>
+ <feature policy='require' name='perfctr_nb'/>
+ <feature policy='require' name='invtsc'/>
+ <feature policy='disable' name='xop'/>
+ <feature policy='disable' name='fma4'/>
+ <feature policy='disable' name='tbm'/>
+</cpu>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
@@ -0,0 +1,48 @@
+<cpu>
+ <arch>x86_64</arch>
+ <model>Opteron_G3</model>
+ <vendor>AMD</vendor>
+ <feature name='vme'/>
+ <feature name='ht'/>
+ <feature name='pclmuldq'/>
+ <feature name='ssse3'/>
+ <feature name='fma'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='movbe'/>
+ <feature name='aes'/>
+ <feature name='xsave'/>
+ <feature name='osxsave'/>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='rdrand'/>
+ <feature name='arat'/>
+ <feature name='fsgsbase'/>
+ <feature name='bmi1'/>
+ <feature name='avx2'/>
+ <feature name='smep'/>
+ <feature name='bmi2'/>
+ <feature name='rdseed'/>
+ <feature name='adx'/>
+ <feature name='smap'/>
+ <feature name='clflushopt'/>
+ <feature name='xsaveopt'/>
+ <feature name='xsavec'/>
+ <feature name='xgetbv1'/>
+ <feature name='xsaves'/>
+ <feature name='mmxext'/>
+ <feature name='fxsr_opt'/>
+ <feature name='pdpe1gb'/>
+ <feature name='cmp_legacy'/>
+ <feature name='extapic'/>
+ <feature name='cr8legacy'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='osvw'/>
+ <feature name='skinit'/>
+ <feature name='wdt'/>
+ <feature name='tce'/>
+ <feature name='topoext'/>
+ <feature name='perfctr_core'/>
+ <feature name='perfctr_nb'/>
+ <feature name='invtsc'/>
+</cpu>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
@@ -0,0 +1,33 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='forbid'>Opteron_G5</model>
+ <vendor>AMD</vendor>
+ <feature policy='require' name='vme'/>
+ <feature policy='require' name='x2apic'/>
+ <feature policy='require' name='movbe'/>
+ <feature policy='require' name='tsc-deadline'/>
+ <feature policy='require' name='rdrand'/>
+ <feature policy='require' name='hypervisor'/>
+ <feature policy='require' name='arat'/>
+ <feature policy='require' name='fsgsbase'/>
+ <feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='bmi1'/>
+ <feature policy='require' name='avx2'/>
+ <feature policy='require' name='smep'/>
+ <feature policy='require' name='bmi2'/>
+ <feature policy='require' name='rdseed'/>
+ <feature policy='require' name='adx'/>
+ <feature policy='require' name='smap'/>
+ <feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='xsaveopt'/>
+ <feature policy='require' name='xsavec'/>
+ <feature policy='require' name='xgetbv1'/>
+ <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='disable' name='svm'/>
+ <feature policy='disable' name='xop'/>
+ <feature policy='disable' name='fma4'/>
+ <feature policy='disable' name='tbm'/>
+</cpu>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core.json
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core.json
@@ -0,0 +1,241 @@
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "phys-bits": 0,
+ "core-id": -1,
+ "xlevel": 2147483679,
+ "cmov": true,
+ "ia64": false,
+ "aes": true,
+ "mmx": true,
+ "arat": true,
+ "rdpid": false,
+ "pause-filter": false,
+ "xsavec": true,
+ "osxsave": false,
+ "tsc-frequency": 0,
+ "xd": true,
+ "hv-vendor-id": "",
+ "kvm-asyncpf": true,
+ "kvm_asyncpf": true,
+ "perfctr_core": false,
+ "perfctr-core": false,
+ "mpx": false,
+ "avx512cd": false,
+ "decodeassists": false,
+ "pbe": false,
+ "sse4_1": true,
+ "sse4.1": true,
+ "sse4-1": true,
+ "family": 23,
+ "vmware-cpuid-freq": true,
+ "avx512f": false,
+ "xcrypt": false,
+ "hv-runtime": false,
+ "msr": true,
+ "mce": true,
+ "mca": true,
+ "thread-id": -1,
+ "min-level": 13,
+ "xgetbv1": true,
+ "cid": false,
+ "hv-relaxed": false,
+ "fxsr": true,
+ "ds": false,
+ "hv-crash": false,
+ "xsaveopt": true,
+ "xtpr": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "avx512vl": false,
+ "extapic": false,
+ "3dnowprefetch": true,
+ "cr8legacy": true,
+ "cpuid-0xb": true,
+ "xcrypt-en": false,
+ "kvm_pv_eoi": true,
+ "apic-id": 4294967295,
+ "pn": false,
+ "dca": false,
+ "vendor": "AuthenticAMD",
+ "pku": false,
+ "smx": false,
+ "cmp-legacy": true,
+ "cmp_legacy": true,
+ "node-id": -1,
+ "avx512-4fmaps": false,
+ "vmcb-clean": false,
+ "vmcb_clean": false,
+ "3dnowext": false,
+ "hle": false,
+ "npt": true,
+ "memory": "/machine/unattached/system[0]",
+ "clwb": false,
+ "lbrv": false,
+ "adx": true,
+ "ss": false,
+ "pni": true,
+ "svm_lock": false,
+ "svm-lock": false,
+ "smep": true,
+ "pfthreshold": false,
+ "smap": true,
+ "x2apic": true,
+ "avx512vbmi": false,
+ "hv-stimer": false,
+ "i64": true,
+ "flushbyasid": false,
+ "f16c": true,
+ "ace2-en": false,
+ "pat": true,
+ "pae": true,
+ "sse": true,
+ "phe-en": false,
+ "kvm-nopiodelay": true,
+ "kvm_nopiodelay": true,
+ "tm": false,
+ "kvmclock-stable-bit": true,
+ "hypervisor": true,
+ "socket-id": -1,
+ "pcommit": false,
+ "syscall": true,
+ "level": 13,
+ "avx512dq": false,
+ "svm": false,
+ "full-cpuid-auto-level": true,
+ "hv-reset": false,
+ "invtsc": false,
+ "sse3": true,
+ "sse2": true,
+ "est": false,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": true,
+ "cx8": true,
+ "kvm-mmu": false,
+ "kvm_mmu": false,
+ "sse4_2": true,
+ "sse4.2": true,
+ "sse4-2": true,
+ "pge": true,
+ "fill-mtrr-mask": true,
+ "pdcm": false,
+ "nodeid_msr": false,
+ "model": 1,
+ "movbe": true,
+ "nrip-save": true,
+ "nrip_save": true,
+ "sse4a": true,
+ "ssse3": true,
+ "kvm_pv_unhalt": true,
+ "invpcid": false,
+ "pdpe1gb": true,
+ "tsc-deadline": true,
+ "fma": true,
+ "cx16": true,
+ "de": true,
+ "enforce": false,
+ "stepping": 2,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tce": false,
+ "tsc": true,
+ "fpu": true,
+ "ds-cpl": false,
+ "ds_cpl": false,
+ "ibs": false,
+ "host-phys-bits": false,
+ "fma4": false,
+ "la57": false,
+ "osvw": true,
+ "check": true,
+ "hv-spinlocks": -1,
+ "pmm": false,
+ "apic": true,
+ "pmu": false,
+ "min-xlevel2": 0,
+ "tsc-adjust": true,
+ "tsc_adjust": true,
+ "kvm-steal-time": true,
+ "kvm_steal_time": true,
+ "kvmclock": true,
+ "l3-cache": true,
+ "lwp": false,
+ "xop": false,
+ "avx": true,
+ "ospke": false,
+ "ace2": false,
+ "acpi": false,
+ "avx512bw": false,
+ "hv-vapic": false,
+ "fsgsbase": true,
+ "ht": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": true,
+ "popcnt": true,
+ "xsaves": false,
+ "lm": true,
+ "umip": false,
+ "avx2": true,
+ "pse": true,
+ "sep": true,
+ "pclmuldq": true,
+ "nodeid-msr": false,
+ "kvm": true,
+ "misalignsse": true,
+ "min-xlevel": 2147483679,
+ "bmi2": true,
+ "bmi1": true,
+ "kvm-pv-unhalt": true,
+ "realized": false,
+ "tsc_scale": false,
+ "tsc-scale": false,
+ "topoext": false,
+ "hv-vpindex": false,
+ "xlevel2": 0,
+ "clflushopt": true,
+ "kvm-no-smi-migration": false,
+ "monitor": false,
+ "avx512er": false,
+ "pmm-en": false,
+ "pcid": false,
+ "3dnow": false,
+ "erms": false,
+ "lahf-lm": true,
+ "lahf_lm": true,
+ "xstore": false,
+ "hv-synic": false,
+ "fxsr-opt": true,
+ "fxsr_opt": true,
+ "rtm": false,
+ "lmce": false,
+ "hv-time": false,
+ "perfctr-nb": false,
+ "perfctr_nb": false,
+ "ffxsr": true,
+ "rdrand": true,
+ "rdseed": true,
+ "avx512-4vnniw": false,
+ "vme": true,
+ "vmx": false,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "pse36": true,
+ "tbm": false,
+ "wdt": false,
+ "pause_filter": false,
+ "model-id": "AMD EPYC 7601 32-Core Processor ",
+ "sha-ni": true,
+ "abm": true,
+ "avx512pf": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "model-expansion"
+}
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core.xml
@@ -0,0 +1,54 @@
+<!-- AMD EPYC 7601 32-Core Processor -->
+<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='0x00800f12' ebx='0x08400800' ecx='0x7ed8320b' 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='0x00000011'/>
+ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000001' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x209c01a9' 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='0x00000340' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f' ebx='0x00000340' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x02' eax='0x00000100' ebx='0x00000240' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000000' ecx_in='0x00' eax='0x8000001f' ebx='0x68747541' ecx='0x444d4163' edx='0x69746e65'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00800f12' ebx='0x40000000' ecx='0x35c233ff' edx='0x2fd3fbff'/>
+ <cpuid eax_in='0x80000002' ecx_in='0x00' eax='0x20444d41' ebx='0x43595045' ecx='0x30363720' edx='0x32332031'/>
+ <cpuid eax_in='0x80000003' ecx_in='0x00' eax='0x726f432d' ebx='0x72502065' ecx='0x7365636f' edx='0x20726f73'/>
+ <cpuid eax_in='0x80000004' ecx_in='0x00' eax='0x20202020' ebx='0x20202020' ecx='0x20202020' edx='0x00202020'/>
+ <cpuid eax_in='0x80000005' ecx_in='0x00' eax='0xff40ff40' ebx='0xff40ff40' ecx='0x20080140' edx='0x40040140'/>
+ <cpuid eax_in='0x80000006' ecx_in='0x00' eax='0x36006400' ebx='0x56006400' ecx='0x02006140' edx='0x0200c140'/>
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x0000001b' ecx='0x00000000' edx='0x00006799'/>
+ <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00003030' ebx='0x00000007' ecx='0x0000603f' 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='0x00008000' ecx='0x00000000' edx='0x0001bcff'/>
+ <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='0xf040f040' ebx='0x00000000' 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='0x000003ff' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001c' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001d' ecx_in='0x00' eax='0x00004121' ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001d' ecx_in='0x01' eax='0x00004122' ebx='0x00c0003f' ecx='0x000000ff' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001d' ecx_in='0x02' eax='0x00004143' ebx='0x01c0003f' ecx='0x000003ff' edx='0x00000002'/>
+ <cpuid eax_in='0x8000001d' ecx_in='0x03' eax='0x0001c163' ebx='0x03c0003f' ecx='0x00001fff' edx='0x00000001'/>
+ <cpuid eax_in='0x8000001e' ecx_in='0x00' eax='0x00000008' ebx='0x00000104' ecx='0x00000300' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001f' ecx_in='0x00' eax='0x0000000f' ebx='0x0000016f' ecx='0x0000000f' edx='0x00000001'/>
+ <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>

View File

@ -0,0 +1,450 @@
commit 92bd87a2395c8e350aa2d5694d4b8e95ce7349b0
Author: Jiri Denemark <jdenemar@redhat.com>
Date: Fri Apr 28 14:09:45 2017 +0200
tests: Add CPUID data for AMD Ryzen 7 1800X Eight-Core Processor
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Index: libvirt-3.7.0/tests/cputest.c
===================================================================
--- libvirt-3.7.0.orig/tests/cputest.c
+++ libvirt-3.7.0/tests/cputest.c
@@ -1001,6 +1001,7 @@ mymain(void)
DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-6282", false);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Pentium-P6100", false);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Phenom-B95", true);
+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Ryzen-7-1800X-Eight-Core", true);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-5110", false);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E3-1245", true);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2630", true);
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml
@@ -0,0 +1,9 @@
+<!-- Features disabled by QEMU -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x08000008' edx='0x10000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x20000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c23008' edx='0x00000000'/>
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
+ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/>
+</cpudata>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-enabled.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-enabled.xml
@@ -0,0 +1,10 @@
+<!-- Features enabled by QEMU -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0xf7f83203' edx='0x078bfbff'/>
+ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x009c01ab' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000007' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x40000001' ecx_in='0x00' eax='0x010000fa' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x000003f7' edx='0x2e500800'/>
+ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000009'/>
+</cpudata>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml
@@ -0,0 +1,40 @@
+<cpu mode='custom' match='exact'>
+ <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='movbe'/>
+ <feature policy='require' name='osxsave'/>
+ <feature policy='require' name='rdrand'/>
+ <feature policy='require' name='arat'/>
+ <feature policy='require' name='fsgsbase'/>
+ <feature policy='require' name='bmi1'/>
+ <feature policy='require' name='avx2'/>
+ <feature policy='require' name='smep'/>
+ <feature policy='require' name='bmi2'/>
+ <feature policy='require' name='rdseed'/>
+ <feature policy='require' name='adx'/>
+ <feature policy='require' name='smap'/>
+ <feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='xsaveopt'/>
+ <feature policy='require' name='xsavec'/>
+ <feature policy='require' name='xgetbv1'/>
+ <feature policy='require' name='xsaves'/>
+ <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='skinit'/>
+ <feature policy='require' name='wdt'/>
+ <feature policy='require' name='tce'/>
+ <feature policy='require' name='topoext'/>
+ <feature policy='require' name='perfctr_core'/>
+ <feature policy='require' name='perfctr_nb'/>
+ <feature policy='require' name='invtsc'/>
+ <feature policy='disable' name='xop'/>
+ <feature policy='disable' name='fma4'/>
+ <feature policy='disable' name='tbm'/>
+</cpu>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
@@ -0,0 +1,48 @@
+<cpu>
+ <arch>x86_64</arch>
+ <model>Opteron_G3</model>
+ <vendor>AMD</vendor>
+ <feature name='vme'/>
+ <feature name='ht'/>
+ <feature name='pclmuldq'/>
+ <feature name='ssse3'/>
+ <feature name='fma'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='movbe'/>
+ <feature name='aes'/>
+ <feature name='xsave'/>
+ <feature name='osxsave'/>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='rdrand'/>
+ <feature name='arat'/>
+ <feature name='fsgsbase'/>
+ <feature name='bmi1'/>
+ <feature name='avx2'/>
+ <feature name='smep'/>
+ <feature name='bmi2'/>
+ <feature name='rdseed'/>
+ <feature name='adx'/>
+ <feature name='smap'/>
+ <feature name='clflushopt'/>
+ <feature name='xsaveopt'/>
+ <feature name='xsavec'/>
+ <feature name='xgetbv1'/>
+ <feature name='xsaves'/>
+ <feature name='mmxext'/>
+ <feature name='fxsr_opt'/>
+ <feature name='pdpe1gb'/>
+ <feature name='cmp_legacy'/>
+ <feature name='extapic'/>
+ <feature name='cr8legacy'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='osvw'/>
+ <feature name='skinit'/>
+ <feature name='wdt'/>
+ <feature name='tce'/>
+ <feature name='topoext'/>
+ <feature name='perfctr_core'/>
+ <feature name='perfctr_nb'/>
+ <feature name='invtsc'/>
+</cpu>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
@@ -0,0 +1,32 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='forbid'>Opteron_G5</model>
+ <vendor>AMD</vendor>
+ <feature policy='require' name='vme'/>
+ <feature policy='require' name='x2apic'/>
+ <feature policy='require' name='movbe'/>
+ <feature policy='require' name='tsc-deadline'/>
+ <feature policy='require' name='rdrand'/>
+ <feature policy='require' name='hypervisor'/>
+ <feature policy='require' name='arat'/>
+ <feature policy='require' name='fsgsbase'/>
+ <feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='bmi1'/>
+ <feature policy='require' name='avx2'/>
+ <feature policy='require' name='smep'/>
+ <feature policy='require' name='bmi2'/>
+ <feature policy='require' name='rdseed'/>
+ <feature policy='require' name='adx'/>
+ <feature policy='require' name='smap'/>
+ <feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='xsaveopt'/>
+ <feature policy='require' name='xsavec'/>
+ <feature policy='require' name='xgetbv1'/>
+ <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='disable' name='xop'/>
+ <feature policy='disable' name='fma4'/>
+ <feature policy='disable' name='tbm'/>
+</cpu>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core.json
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core.json
@@ -0,0 +1,203 @@
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "pfthreshold": false,
+ "pku": false,
+ "rtm": false,
+ "tsc_adjust": true,
+ "tsc-deadline": true,
+ "xstore-en": false,
+ "tsc-scale": false,
+ "sse": true,
+ "smap": true,
+ "stepping": 1,
+ "tce": false,
+ "kvm_steal_time": true,
+ "smep": true,
+ "rdpid": false,
+ "xcrypt": false,
+ "sse4_2": true,
+ "monitor": false,
+ "sse4_1": true,
+ "kvm-mmu": false,
+ "flushbyasid": false,
+ "kvm-steal-time": true,
+ "lm": true,
+ "tsc": true,
+ "adx": true,
+ "fxsr": true,
+ "sha-ni": false,
+ "tm": false,
+ "pclmuldq": true,
+ "xgetbv1": true,
+ "xstore": false,
+ "vmcb_clean": false,
+ "vme": true,
+ "vendor": "AuthenticAMD",
+ "arat": true,
+ "ffxsr": true,
+ "de": true,
+ "avx512f": false,
+ "pse": true,
+ "ds-cpl": false,
+ "tbm": false,
+ "ia64": false,
+ "phe-en": false,
+ "f16c": true,
+ "ds": false,
+ "mpx": false,
+ "tsc-adjust": true,
+ "aes": true,
+ "avx2": true,
+ "pbe": false,
+ "cx16": true,
+ "ds_cpl": false,
+ "movbe": true,
+ "perfctr-nb": false,
+ "nrip_save": true,
+ "kvm_mmu": false,
+ "ospke": false,
+ "avx512ifma": false,
+ "vmx": false,
+ "sep": true,
+ "xsaveopt": true,
+ "sse4a": true,
+ "avx512dq": false,
+ "i64": true,
+ "avx512-4vnniw": false,
+ "xsave": true,
+ "erms": false,
+ "hle": false,
+ "nodeid_msr": false,
+ "est": false,
+ "svm_lock": false,
+ "xop": false,
+ "model-id": "AMD Ryzen 7 1800X Eight-Core Processor ",
+ "abm": true,
+ "avx512er": false,
+ "sse4.1": true,
+ "sse4.2": true,
+ "pause-filter": false,
+ "lahf-lm": true,
+ "kvm-nopiodelay": true,
+ "cmp_legacy": true,
+ "acpi": false,
+ "fma4": false,
+ "popcnt": true,
+ "mmx": true,
+ "osxsave": false,
+ "pcommit": false,
+ "avx512pf": false,
+ "clwb": false,
+ "dca": false,
+ "pdcm": false,
+ "xcrypt-en": false,
+ "3dnow": false,
+ "invtsc": false,
+ "tm2": false,
+ "hypervisor": true,
+ "kvmclock-stable-bit": true,
+ "fxsr-opt": true,
+ "pcid": false,
+ "sse4-1": true,
+ "sse4-2": true,
+ "avx512-vpopcntdq": false,
+ "avx512-4fmaps": false,
+ "pause_filter": false,
+ "svm-lock": false,
+ "rdrand": true,
+ "nrip-save": true,
+ "avx512vl": false,
+ "x2apic": true,
+ "kvmclock": true,
+ "pge": true,
+ "family": 23,
+ "dtes64": false,
+ "xd": true,
+ "kvm_pv_eoi": true,
+ "ace2": false,
+ "kvm_pv_unhalt": true,
+ "xtpr": false,
+ "perfctr_nb": false,
+ "avx512bw": false,
+ "nx": true,
+ "lwp": false,
+ "msr": true,
+ "ace2-en": false,
+ "decodeassists": false,
+ "perfctr-core": false,
+ "pn": false,
+ "fma": true,
+ "nodeid-msr": false,
+ "kvm_asyncpf": true,
+ "clflush": true,
+ "cx8": true,
+ "mce": true,
+ "avx512cd": false,
+ "cr8legacy": true,
+ "mca": true,
+ "pni": true,
+ "rdseed": true,
+ "apic": true,
+ "fsgsbase": true,
+ "cmp-legacy": true,
+ "kvm-pv-unhalt": true,
+ "rdtscp": true,
+ "mmxext": true,
+ "cid": false,
+ "ssse3": true,
+ "extapic": false,
+ "pse36": true,
+ "mtrr": true,
+ "ibs": false,
+ "la57": false,
+ "avx": true,
+ "syscall": true,
+ "umip": false,
+ "invpcid": false,
+ "avx512vbmi": false,
+ "kvm-asyncpf": true,
+ "vmcb-clean": false,
+ "pmm": false,
+ "cmov": true,
+ "perfctr_core": false,
+ "misalignsse": true,
+ "clflushopt": true,
+ "pat": true,
+ "lbrv": false,
+ "3dnowprefetch": true,
+ "fpu": true,
+ "pae": true,
+ "wdt": false,
+ "tsc_scale": false,
+ "skinit": false,
+ "fxsr_opt": true,
+ "kvm_nopiodelay": true,
+ "pmm-en": false,
+ "phe": false,
+ "3dnowext": false,
+ "osvw": true,
+ "ht": false,
+ "pdpe1gb": true,
+ "kvm-pv-eoi": true,
+ "npt": true,
+ "xsavec": true,
+ "lahf_lm": true,
+ "pclmulqdq": true,
+ "svm": true,
+ "sse3": true,
+ "sse2": true,
+ "ss": false,
+ "topoext": false,
+ "smx": false,
+ "bmi1": true,
+ "bmi2": true,
+ "xsaves": false,
+ "model": 1
+ }
+ }
+ },
+ "id": "model-expansion"
+}
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core.xml
===================================================================
--- /dev/null
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core.xml
@@ -0,0 +1,52 @@
+<!-- AMD Ryzen 7 1800X Eight-Core Processor -->
+<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='0x00800f11' ebx='0x09100800' ecx='0x7ed8320b' 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='0x00000004' ebx='0x00000000' ecx='0x00000001' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x209c01a9' 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='0x00000340' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f' ebx='0x00000340' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x02' eax='0x00000100' ebx='0x00000240' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x03' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000000' ecx_in='0x00' eax='0x8000001f' ebx='0x68747541' ecx='0x444d4163' edx='0x69746e65'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00800f11' ebx='0x20000000' ecx='0x35c233ff' edx='0x2fd3fbff'/>
+ <cpuid eax_in='0x80000002' ecx_in='0x00' eax='0x20444d41' ebx='0x657a7952' ecx='0x2037206e' edx='0x30303831'/>
+ <cpuid eax_in='0x80000003' ecx_in='0x00' eax='0x69452058' ebx='0x2d746867' ecx='0x65726f43' edx='0x6f725020'/>
+ <cpuid eax_in='0x80000004' ecx_in='0x00' eax='0x73736563' ebx='0x2020726f' ecx='0x20202020' edx='0x00202020'/>
+ <cpuid eax_in='0x80000005' ecx_in='0x00' eax='0xff40ff40' ebx='0xff40ff40' ecx='0x20080140' edx='0x40040140'/>
+ <cpuid eax_in='0x80000006' ecx_in='0x00' eax='0x26006400' ebx='0x66006400' ecx='0x02006140' edx='0x00808140'/>
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x0000001b' ecx='0x00000000' edx='0x00006599'/>
+ <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00003030' ebx='0x00000007' ecx='0x0000400f' 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='0x00008000' ecx='0x00000000' edx='0x0001bcff'/>
+ <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='0xf040f040' ebx='0x00000000' 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='0x000003ff' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001c' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001d' ecx_in='0x00' eax='0x00004121' ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001e' ecx_in='0x00' eax='0x00000009' ebx='0x00000104' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x8000001f' ecx_in='0x00' eax='0x00000007' ebx='0x0000016f' ecx='0x0000000f' 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>

View File

@ -0,0 +1,388 @@
commit a0b628432a11ec97bbda9893504fb8180c36186e
Author: Brijesh Singh <brijesh.singh@amd.com>
Date: Wed Aug 23 13:49:41 2017 -0500
cpu: Add new EPYC CPU model
Add a new CPU model called 'EPYC' to model processors from AMD EPYC
family (which includes EPYC 76xx,75xx,74xx, 73xx and 72xx).
The following features bits have been added/removed compare to Opteron_G5
Added: monitor, movbe, rdrand, mmxext, ffxsr, rdtscp, cr8legacy, osvw,
fsgsbase, bmi1, avx2, smep, bmi2, rdseed, adx, smap, clfshopt, sha
xsaveopt, xsavec, xgetbv1, arat
Removed: xop, fma4, tbm
The patch is depend on EPYC CPU model supported introduced in qemu [1]
[1] https://patchwork.kernel.org/patch/9902205/
Cc: Tom Lendacky <Thomas.Lendacky@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Index: libvirt-3.7.0/src/cpu/cpu_map.xml
===================================================================
--- libvirt-3.7.0.orig/src/cpu/cpu_map.xml
+++ libvirt-3.7.0/src/cpu/cpu_map.xml
@@ -260,6 +260,9 @@
<feature name='avx512cd'>
<cpuid eax_in='0x07' ecx_in='0x00' ebx='0x10000000'/>
</feature>
+ <feature name='sha-ni'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x20000000'/>
+ </feature>
<feature name='avx512bw'>
<cpuid eax_in='0x07' ecx_in='0x00' ebx='0x40000000'/>
</feature>
@@ -1545,6 +1548,77 @@
<feature name='xop'/>
<feature name='xsave'/>
</model>
+
+ <model name='EPYC'>
+ <signature family='23' model='1'/>
+ <vendor name='AMD'/>
+ <feature name='3dnowprefetch'/>
+ <feature name='abm'/>
+ <feature name='adx'/>
+ <feature name='aes'/>
+ <feature name='apic'/>
+ <feature name='arat'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='bmi1'/>
+ <feature name='bmi2'/>
+ <feature name='clflush'/>
+ <feature name='clflushopt'/>
+ <feature name='cmov'/>
+ <feature name='cr8legacy'/>
+ <feature name='cx16'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fpu'/>
+ <feature name='fsgsbase'/>
+ <feature name='fxsr'/>
+ <feature name='fxsr_opt'/>
+ <feature name='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='misalignsse'/>
+ <feature name='mmx'/>
+ <feature name='mmxext'/>
+ <feature name='monitor'/>
+ <feature name='movbe'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='osvw'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pclmuldq'/>
+ <feature name='pdpe1gb'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='popcnt'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='rdrand'/>
+ <feature name='rdseed'/>
+ <feature name='rdtscp'/>
+ <feature name='sep'/>
+ <feature name='sha-ni'/>
+ <feature name='smap'/>
+ <feature name='smep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='sse4.1'/>
+ <feature name='sse4.2'/>
+ <feature name='sse4a'/>
+ <feature name='ssse3'/>
+ <feature name='svm'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
+ <feature name='vme'/>
+ <feature name='xgetbv1'/>
+ <feature name='xsave'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveopt'/>
+ </model>
</arch>
<arch name='ppc64'>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml
===================================================================
--- libvirt-3.7.0.orig/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml
@@ -1,32 +1,11 @@
<cpu mode='custom' match='exact'>
- <model fallback='forbid'>Opteron_G5</model>
+ <model fallback='forbid'>EPYC</model>
<vendor>AMD</vendor>
- <feature policy='require' name='vme'/>
<feature policy='require' name='ht'/>
- <feature policy='require' name='monitor'/>
- <feature policy='require' name='movbe'/>
<feature policy='require' name='osxsave'/>
- <feature policy='require' name='rdrand'/>
- <feature policy='require' name='arat'/>
- <feature policy='require' name='fsgsbase'/>
- <feature policy='require' name='bmi1'/>
- <feature policy='require' name='avx2'/>
- <feature policy='require' name='smep'/>
- <feature policy='require' name='bmi2'/>
- <feature policy='require' name='rdseed'/>
- <feature policy='require' name='adx'/>
- <feature policy='require' name='smap'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='xsaveopt'/>
- <feature policy='require' name='xsavec'/>
- <feature policy='require' name='xgetbv1'/>
<feature policy='require' name='xsaves'/>
- <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='skinit'/>
<feature policy='require' name='wdt'/>
<feature policy='require' name='tce'/>
@@ -34,7 +13,4 @@
<feature policy='require' name='perfctr_core'/>
<feature policy='require' name='perfctr_nb'/>
<feature policy='require' name='invtsc'/>
- <feature policy='disable' name='xop'/>
- <feature policy='disable' name='fma4'/>
- <feature policy='disable' name='tbm'/>
</cpu>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
===================================================================
--- libvirt-3.7.0.orig/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml
@@ -1,43 +1,12 @@
<cpu>
<arch>x86_64</arch>
- <model>Opteron_G3</model>
+ <model>EPYC</model>
<vendor>AMD</vendor>
- <feature name='vme'/>
<feature name='ht'/>
- <feature name='pclmuldq'/>
- <feature name='ssse3'/>
- <feature name='fma'/>
- <feature name='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='movbe'/>
- <feature name='aes'/>
- <feature name='xsave'/>
<feature name='osxsave'/>
- <feature name='avx'/>
- <feature name='f16c'/>
- <feature name='rdrand'/>
- <feature name='arat'/>
- <feature name='fsgsbase'/>
- <feature name='bmi1'/>
- <feature name='avx2'/>
- <feature name='smep'/>
- <feature name='bmi2'/>
- <feature name='rdseed'/>
- <feature name='adx'/>
- <feature name='smap'/>
- <feature name='clflushopt'/>
- <feature name='xsaveopt'/>
- <feature name='xsavec'/>
- <feature name='xgetbv1'/>
<feature name='xsaves'/>
- <feature name='mmxext'/>
- <feature name='fxsr_opt'/>
- <feature name='pdpe1gb'/>
<feature name='cmp_legacy'/>
<feature name='extapic'/>
- <feature name='cr8legacy'/>
- <feature name='3dnowprefetch'/>
- <feature name='osvw'/>
<feature name='skinit'/>
<feature name='wdt'/>
<feature name='tce'/>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
===================================================================
--- libvirt-3.7.0.orig/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-json.xml
@@ -1,33 +1,11 @@
<cpu mode='custom' match='exact'>
- <model fallback='forbid'>Opteron_G5</model>
+ <model fallback='forbid'>EPYC</model>
<vendor>AMD</vendor>
- <feature policy='require' name='vme'/>
<feature policy='require' name='x2apic'/>
- <feature policy='require' name='movbe'/>
<feature policy='require' name='tsc-deadline'/>
- <feature policy='require' name='rdrand'/>
<feature policy='require' name='hypervisor'/>
- <feature policy='require' name='arat'/>
- <feature policy='require' name='fsgsbase'/>
<feature policy='require' name='tsc_adjust'/>
- <feature policy='require' name='bmi1'/>
- <feature policy='require' name='avx2'/>
- <feature policy='require' name='smep'/>
- <feature policy='require' name='bmi2'/>
- <feature policy='require' name='rdseed'/>
- <feature policy='require' name='adx'/>
- <feature policy='require' name='smap'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='xsaveopt'/>
- <feature policy='require' name='xsavec'/>
- <feature policy='require' name='xgetbv1'/>
- <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='disable' name='monitor'/>
<feature policy='disable' name='svm'/>
- <feature policy='disable' name='xop'/>
- <feature policy='disable' name='fma4'/>
- <feature policy='disable' name='tbm'/>
</cpu>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml
===================================================================
--- libvirt-3.7.0.orig/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml
@@ -1,32 +1,11 @@
<cpu mode='custom' match='exact'>
- <model fallback='forbid'>Opteron_G5</model>
+ <model fallback='forbid'>EPYC</model>
<vendor>AMD</vendor>
- <feature policy='require' name='vme'/>
<feature policy='require' name='ht'/>
- <feature policy='require' name='monitor'/>
- <feature policy='require' name='movbe'/>
<feature policy='require' name='osxsave'/>
- <feature policy='require' name='rdrand'/>
- <feature policy='require' name='arat'/>
- <feature policy='require' name='fsgsbase'/>
- <feature policy='require' name='bmi1'/>
- <feature policy='require' name='avx2'/>
- <feature policy='require' name='smep'/>
- <feature policy='require' name='bmi2'/>
- <feature policy='require' name='rdseed'/>
- <feature policy='require' name='adx'/>
- <feature policy='require' name='smap'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='xsaveopt'/>
- <feature policy='require' name='xsavec'/>
- <feature policy='require' name='xgetbv1'/>
<feature policy='require' name='xsaves'/>
- <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='skinit'/>
<feature policy='require' name='wdt'/>
<feature policy='require' name='tce'/>
@@ -34,7 +13,4 @@
<feature policy='require' name='perfctr_core'/>
<feature policy='require' name='perfctr_nb'/>
<feature policy='require' name='invtsc'/>
- <feature policy='disable' name='xop'/>
- <feature policy='disable' name='fma4'/>
- <feature policy='disable' name='tbm'/>
</cpu>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
===================================================================
--- libvirt-3.7.0.orig/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml
@@ -1,43 +1,12 @@
<cpu>
<arch>x86_64</arch>
- <model>Opteron_G3</model>
+ <model>EPYC</model>
<vendor>AMD</vendor>
- <feature name='vme'/>
<feature name='ht'/>
- <feature name='pclmuldq'/>
- <feature name='ssse3'/>
- <feature name='fma'/>
- <feature name='sse4.1'/>
- <feature name='sse4.2'/>
- <feature name='movbe'/>
- <feature name='aes'/>
- <feature name='xsave'/>
<feature name='osxsave'/>
- <feature name='avx'/>
- <feature name='f16c'/>
- <feature name='rdrand'/>
- <feature name='arat'/>
- <feature name='fsgsbase'/>
- <feature name='bmi1'/>
- <feature name='avx2'/>
- <feature name='smep'/>
- <feature name='bmi2'/>
- <feature name='rdseed'/>
- <feature name='adx'/>
- <feature name='smap'/>
- <feature name='clflushopt'/>
- <feature name='xsaveopt'/>
- <feature name='xsavec'/>
- <feature name='xgetbv1'/>
<feature name='xsaves'/>
- <feature name='mmxext'/>
- <feature name='fxsr_opt'/>
- <feature name='pdpe1gb'/>
<feature name='cmp_legacy'/>
<feature name='extapic'/>
- <feature name='cr8legacy'/>
- <feature name='3dnowprefetch'/>
- <feature name='osvw'/>
<feature name='skinit'/>
<feature name='wdt'/>
<feature name='tce'/>
Index: libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
===================================================================
--- libvirt-3.7.0.orig/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
+++ libvirt-3.7.0/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-json.xml
@@ -1,32 +1,11 @@
<cpu mode='custom' match='exact'>
- <model fallback='forbid'>Opteron_G5</model>
+ <model fallback='forbid'>EPYC</model>
<vendor>AMD</vendor>
- <feature policy='require' name='vme'/>
<feature policy='require' name='x2apic'/>
- <feature policy='require' name='movbe'/>
<feature policy='require' name='tsc-deadline'/>
- <feature policy='require' name='rdrand'/>
<feature policy='require' name='hypervisor'/>
- <feature policy='require' name='arat'/>
- <feature policy='require' name='fsgsbase'/>
<feature policy='require' name='tsc_adjust'/>
- <feature policy='require' name='bmi1'/>
- <feature policy='require' name='avx2'/>
- <feature policy='require' name='smep'/>
- <feature policy='require' name='bmi2'/>
- <feature policy='require' name='rdseed'/>
- <feature policy='require' name='adx'/>
- <feature policy='require' name='smap'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='xsaveopt'/>
- <feature policy='require' name='xsavec'/>
- <feature policy='require' name='xgetbv1'/>
- <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='disable' name='xop'/>
- <feature policy='disable' name='fma4'/>
- <feature policy='disable' name='tbm'/>
+ <feature policy='disable' name='monitor'/>
+ <feature policy='disable' name='sha-ni'/>
</cpu>

View File

@ -6,7 +6,7 @@ Index: libvirt-3.7.0/src/cpu/cpu_map.xml
===================================================================
--- libvirt-3.7.0.orig/src/cpu/cpu_map.xml
+++ libvirt-3.7.0/src/cpu/cpu_map.xml
@@ -1569,6 +1569,8 @@
@@ -1643,6 +1643,8 @@
<pvr value='0x004b0000' mask='0xffff0000'/>
<pvr value='0x004c0000' mask='0xffff0000'/>
<pvr value='0x004d0000' mask='0xffff0000'/>

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Fri Sep 15 17:29:55 UTC 2017 - jfehlig@suse.com
- cpu: Add new EPYC CPU model
92bd87a2-ryzen-test-data.patch, 5c83b360-epyc-test-data.patch,
a0b62843-epyc-cpu-model.patch
bsc#1052825
-------------------------------------------------------------------
Fri Sep 15 16:20:34 UTC 2017 - jfehlig@suse.com

View File

@ -304,6 +304,9 @@ Source4: libvirt-supportconfig
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
# Upstream patches
Patch0: 92bd87a2-ryzen-test-data.patch
Patch1: 5c83b360-epyc-test-data.patch
Patch2: a0b62843-epyc-cpu-model.patch
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
@ -869,6 +872,9 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch100 -p1
%patch101 -p1
%patch150 -p1