| From 1c8af21807f2cdaaa24651808f6dfeebfbcf75bb Mon Sep 17 00:00:00 2001 |
| Message-Id: <1c8af21807f2cdaaa24651808f6dfeebfbcf75bb@dist-git> |
| From: Jiri Denemark <jdenemar@redhat.com> |
| Date: Tue, 26 May 2020 10:59:40 +0200 |
| Subject: [PATCH] cpu_map: Add Cooperlake x86 CPU model |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| The stepping range (10-11) is likely incomplete. QEMU uses 10 and the |
| CPUID data for Cooperlake show 11. We will update the range if needed |
| once more details about he CPU are available. |
| |
| Signed-off-by: Jiri Denemark <jdenemar@redhat.com> |
| Reviewed-by: Pavel Hrdina <phrdina@redhat.com> |
| (cherry picked from commit 3944f6855b9d4df73754bb6e5c8023d77399879b) |
| |
| https://bugzilla.redhat.com/show_bug.cgi?id=1781878 |
| |
| Conflicts: |
| tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml |
| tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml |
| tests/domaincapsdata/qemu_5.1.0.x86_64.xml |
| - test data files do not exist downstream |
| |
| Signed-off-by: Jiri Denemark <jdenemar@redhat.com> |
| Message-Id: <62f2fa3e2ecab2026c41e93430b4e2b695c674f0.1590483392.git.jdenemar@redhat.com> |
| Reviewed-by: Ján Tomko <jtomko@redhat.com> |
| |
| src/cpu_map/index.xml | 1 + |
| src/cpu_map/x86_Cooperlake.xml | 90 +++++++++++++++++++ |
| .../x86_64-cpuid-Cooperlake-guest.xml | 13 +-- |
| .../x86_64-cpuid-Cooperlake-host.xml | 13 +-- |
| .../x86_64-cpuid-Cooperlake-json.xml | 13 +-- |
| .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + |
| .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + |
| tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + |
| 8 files changed, 100 insertions(+), 33 deletions(-) |
| create mode 100644 src/cpu_map/x86_Cooperlake.xml |
| |
| diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml |
| index 50b030de29..ff1da2e677 100644 |
| |
| |
| @@ -54,6 +54,7 @@ |
| <include filename="x86_Icelake-Client-noTSX.xml"/> |
| <include filename="x86_Icelake-Server.xml"/> |
| <include filename="x86_Icelake-Server-noTSX.xml"/> |
| + <include filename="x86_Cooperlake.xml"/> |
| |
| <!-- AMD CPUs --> |
| <include filename="x86_athlon.xml"/> |
| diff --git a/src/cpu_map/x86_Cooperlake.xml b/src/cpu_map/x86_Cooperlake.xml |
| new file mode 100644 |
| index 0000000000..41bd210638 |
| |
| |
| @@ -0,0 +1,90 @@ |
| +<cpus> |
| + <model name='Cooperlake'> |
| + <decode host='on' guest='on'/> |
| + <signature family='6' model='85' stepping='10-11'/> <!-- 05065b --> |
| + <vendor name='Intel'/> |
| + <feature name="3dnowprefetch"/> |
| + <feature name="abm"/> |
| + <feature name="adx"/> |
| + <feature name="aes"/> |
| + <feature name="apic"/> |
| + <feature name="arat"/> |
| + <feature name="arch-capabilities"/> |
| + <feature name="avx"/> |
| + <feature name="avx2"/> |
| + <feature name="avx512-bf16"/> |
| + <feature name="avx512bw"/> |
| + <feature name="avx512cd"/> |
| + <feature name="avx512dq"/> |
| + <feature name="avx512f"/> |
| + <feature name="avx512vl"/> |
| + <feature name="avx512vnni"/> |
| + <feature name="bmi1"/> |
| + <feature name="bmi2"/> |
| + <feature name="clflush"/> |
| + <feature name="clflushopt"/> |
| + <feature name="clwb"/> |
| + <feature name="cmov"/> |
| + <feature name="cx16"/> |
| + <feature name="cx8"/> |
| + <feature name="de"/> |
| + <feature name="erms"/> |
| + <feature name="f16c"/> |
| + <feature name="fma"/> |
| + <feature name="fpu"/> |
| + <feature name="fsgsbase"/> |
| + <feature name="fxsr"/> |
| + <feature name="hle"/> |
| + <feature name="ibrs-all"/> |
| + <feature name="invpcid"/> |
| + <feature name="lahf_lm"/> |
| + <feature name="lm"/> |
| + <feature name="mca"/> |
| + <feature name="mce"/> |
| + <feature name="mds-no"/> |
| + <feature name="mmx"/> |
| + <feature name="movbe"/> |
| + <feature name="msr"/> |
| + <feature name="mtrr"/> |
| + <feature name="nx"/> |
| + <feature name="pae"/> |
| + <feature name="pat"/> |
| + <feature name="pcid"/> |
| + <feature name="pclmuldq"/> |
| + <feature name="pdpe1gb"/> |
| + <feature name="pge"/> |
| + <feature name="pku"/> |
| + <feature name="pni"/> |
| + <feature name="popcnt"/> |
| + <feature name="pschange-mc-no"/> |
| + <feature name="pse"/> |
| + <feature name="pse36"/> |
| + <feature name="rdctl-no"/> |
| + <feature name="rdrand"/> |
| + <feature name="rdseed"/> |
| + <feature name="rdtscp"/> |
| + <feature name="rtm"/> |
| + <feature name="sep"/> |
| + <feature name="skip-l1dfl-vmentry"/> |
| + <feature name="smap"/> |
| + <feature name="smep"/> |
| + <feature name="spec-ctrl"/> |
| + <feature name="ssbd"/> |
| + <feature name="sse"/> |
| + <feature name="sse2"/> |
| + <feature name="sse4.1"/> |
| + <feature name="sse4.2"/> |
| + <feature name="ssse3"/> |
| + <feature name="stibp"/> |
| + <feature name="syscall"/> |
| + <feature name="taa-no"/> |
| + <feature name="tsc"/> |
| + <feature name="tsc-deadline"/> |
| + <feature name="vme"/> |
| + <feature name="x2apic"/> |
| + <feature name="xgetbv1"/> |
| + <feature name="xsave"/> |
| + <feature name="xsavec"/> |
| + <feature name="xsaveopt"/> |
| + </model> |
| +</cpus> |
| diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-guest.xml b/tests/cputestdata/x86_64-cpuid-Cooperlake-guest.xml |
| index db5598740c..f169458399 100644 |
| |
| |
| @@ -1,5 +1,5 @@ |
| <cpu mode='custom' match='exact'> |
| - <model fallback='forbid'>Cascadelake-Server</model> |
| + <model fallback='forbid'>Cooperlake</model> |
| <vendor>Intel</vendor> |
| <feature policy='require' name='ds'/> |
| <feature policy='require' name='acpi'/> |
| @@ -20,22 +20,13 @@ |
| <feature policy='require' name='osxsave'/> |
| <feature policy='require' name='tsc_adjust'/> |
| <feature policy='require' name='cmt'/> |
| + <feature policy='require' name='mpx'/> |
| <feature policy='require' name='intel-pt'/> |
| - <feature policy='require' name='pku'/> |
| <feature policy='require' name='ospke'/> |
| <feature policy='require' name='md-clear'/> |
| - <feature policy='require' name='stibp'/> |
| - <feature policy='require' name='arch-capabilities'/> |
| - <feature policy='require' name='avx512-bf16'/> |
| <feature policy='require' name='xsaves'/> |
| <feature policy='require' name='mbm_total'/> |
| <feature policy='require' name='mbm_local'/> |
| <feature policy='require' name='invtsc'/> |
| - <feature policy='require' name='rdctl-no'/> |
| - <feature policy='require' name='ibrs-all'/> |
| - <feature policy='require' name='skip-l1dfl-vmentry'/> |
| - <feature policy='require' name='mds-no'/> |
| - <feature policy='require' name='pschange-mc-no'/> |
| <feature policy='require' name='tsx-ctrl'/> |
| - <feature policy='require' name='taa-no'/> |
| </cpu> |
| diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml b/tests/cputestdata/x86_64-cpuid-Cooperlake-host.xml |
| index 6926b7c975..b0777181bb 100644 |
| |
| |
| @@ -1,6 +1,6 @@ |
| <cpu> |
| <arch>x86_64</arch> |
| - <model>Cascadelake-Server</model> |
| + <model>Cooperlake</model> |
| <vendor>Intel</vendor> |
| <feature name='ds'/> |
| <feature name='acpi'/> |
| @@ -21,22 +21,13 @@ |
| <feature name='osxsave'/> |
| <feature name='tsc_adjust'/> |
| <feature name='cmt'/> |
| + <feature name='mpx'/> |
| <feature name='intel-pt'/> |
| - <feature name='pku'/> |
| <feature name='ospke'/> |
| <feature name='md-clear'/> |
| - <feature name='stibp'/> |
| - <feature name='arch-capabilities'/> |
| - <feature name='avx512-bf16'/> |
| <feature name='xsaves'/> |
| <feature name='mbm_total'/> |
| <feature name='mbm_local'/> |
| <feature name='invtsc'/> |
| - <feature name='rdctl-no'/> |
| - <feature name='ibrs-all'/> |
| - <feature name='skip-l1dfl-vmentry'/> |
| - <feature name='mds-no'/> |
| - <feature name='pschange-mc-no'/> |
| <feature name='tsx-ctrl'/> |
| - <feature name='taa-no'/> |
| </cpu> |
| diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml b/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml |
| index fc52805b2f..fb319d547c 100644 |
| |
| |
| @@ -1,24 +1,15 @@ |
| <cpu mode='custom' match='exact'> |
| - <model fallback='forbid'>Cascadelake-Server</model> |
| + <model fallback='forbid'>Cooperlake</model> |
| <vendor>Intel</vendor> |
| <feature policy='require' name='ss'/> |
| <feature policy='require' name='vmx'/> |
| <feature policy='require' name='hypervisor'/> |
| <feature policy='require' name='tsc_adjust'/> |
| + <feature policy='require' name='mpx'/> |
| <feature policy='require' name='umip'/> |
| - <feature policy='require' name='pku'/> |
| <feature policy='require' name='md-clear'/> |
| - <feature policy='require' name='stibp'/> |
| - <feature policy='require' name='arch-capabilities'/> |
| - <feature policy='require' name='avx512-bf16'/> |
| <feature policy='require' name='xsaves'/> |
| <feature policy='require' name='ibpb'/> |
| <feature policy='require' name='amd-ssbd'/> |
| - <feature policy='require' name='rdctl-no'/> |
| - <feature policy='require' name='ibrs-all'/> |
| - <feature policy='require' name='skip-l1dfl-vmentry'/> |
| - <feature policy='require' name='mds-no'/> |
| - <feature policy='require' name='pschange-mc-no'/> |
| <feature policy='require' name='tsx-ctrl'/> |
| - <feature policy='require' name='taa-no'/> |
| </cpu> |
| diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml |
| index b7e2c8a4fe..7bfd786ff6 100644 |
| |
| |
| @@ -93,6 +93,7 @@ |
| <model usable='no'>EPYC-IBPB</model> |
| <model usable='no'>EPYC</model> |
| <model usable='no'>Dhyana</model> |
| + <model usable='no'>Cooperlake</model> |
| <model usable='yes'>Conroe</model> |
| <model usable='no'>Cascadelake-Server-noTSX</model> |
| <model usable='no'>Cascadelake-Server</model> |
| diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml |
| index d634803b29..0a4bb16a89 100644 |
| |
| |
| @@ -101,6 +101,7 @@ |
| <model usable='no'>EPYC-IBPB</model> |
| <model usable='no'>EPYC</model> |
| <model usable='no'>Dhyana</model> |
| + <model usable='no'>Cooperlake</model> |
| <model usable='yes'>Conroe</model> |
| <model usable='no'>Cascadelake-Server-noTSX</model> |
| <model usable='no'>Cascadelake-Server</model> |
| diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml |
| index d2741375b4..d6ee66ab60 100644 |
| |
| |
| @@ -92,6 +92,7 @@ |
| <model usable='no'>EPYC-IBPB</model> |
| <model usable='no'>EPYC</model> |
| <model usable='no'>Dhyana</model> |
| + <model usable='no'>Cooperlake</model> |
| <model usable='yes'>Conroe</model> |
| <model usable='no'>Cascadelake-Server-noTSX</model> |
| <model usable='no'>Cascadelake-Server</model> |
| -- |
| 2.26.2 |
| |