In addition to usual CPUID bits, some CPU features started to be
reported in IA32_ARCH_CAPABILITIES MSR. This series adds support for
such CPU features.
However, the last patch which actually adds definitions for some MSR
features to the cpu_map should not be pushed yet as the QEMU interface
for MSR features is not complete yet. If a domain with some MSR features
enabled would be started, all of them would be marked as disabled in the
live domain configuration (even though they were actually enabled by
QEMU) and they would disappear during migration.
Jiri Denemark (36):
domaincapstest: Test QEMU 3.1.0
cputest: Add data for Intel(R) Xeon(R) Platinum 8268 CPU
cpu_map: Add Cascadelake-Server CPU model
cpu_x86: Do not cache microcode version
cpu_x86: Require <cpuid> within <feature> in CPU map
cpu_x86: Introduce virCPUx86DataItem container struct
cpu_x86: Rename virCPUx86Vendor.cpuid
cpu_x86: Rename virCPUx86DataItem variables
cpu_x86: Rename x86DataCpuidNext function
cpu_x86: Rename x86DataCpuid
cpu_x86: Rename virCPUx86CPUIDSorter
cpu_x86: Rename virCPUx86DataAddCPUIDInt
cpu_x86: Rename virCPUx86DataAddCPUID
cpu_x86: Rename virCPUx86VendorToCPUID
cpu_x86: Simplify x86DataAdd
cpu_x86: Introduce virCPUx86DataCmp
cpu_x86: Make x86cpuidSetBits more general
cpu_x86: Make x86cpuidClearBits more general
cpu_x86: Make x86cpuidAndBits more general
cpu_x86: Make x86cpuidMatchMasked more general
cpu_x86: Make x86cpuidMatch more general
cpu_x86: Store virCPUx86DataItem content in union
cpu_x86: Add support for storing MSR features in CPU map
cpu_x86: Move *CheckFeature functions
cputest: Drop support for old QEMU from cpu-parse.sh
cputest: Generalize function names in cpu-cpuid.py
cputest: Fix comparison in checkCPUIDFeature in cpu-cpuid.py
cputest: Rename in_e[ac]x as e[ac]x_in in cpu-cpuid.py
cputest: Prepare cpu-cpuid.py for MSR features
cputest: Generalize feature parsing in cpu-cpuid.py
cputest: Add support for MSR features to cpu-gather.sh
cputest: Add support for MSR features to cpu-parse.sh
cputest: Add support for MSR features to cpu-cpuid.py
vircpuhost: Add support for reading MSRs
cpu_x86: Read CPU features from IA32_ARCH_CAPABILITIES MSR
cpu_map: Introduce IA32_ARCH_CAPABILITIES MSR features
src/cpu/cpu_x86.c | 807 ++++++++++++------
src/cpu/cpu_x86.h | 4 +-
src/cpu/cpu_x86_data.h | 27 +-
src/cpu_map/index.xml | 1 +
src/cpu_map/x86_Cascadelake-Server.xml | 82 ++
src/cpu_map/x86_features.xml | 17 +
src/libvirt_private.syms | 3 +-
src/libxl/libxl_capabilities.c | 9 +-
src/qemu/qemu_monitor_json.c | 7 +-
src/util/virhostcpu.c | 80 ++
src/util/virhostcpu.h | 3 +
tests/cputest.c | 1 +
tests/cputestdata/cpu-cpuid.py | 414 +++------
tests/cputestdata/cpu-gather.sh | 49 +-
tests/cputestdata/cpu-parse.sh | 12 +-
.../x86_64-cpuid-Core-i7-7600U-enabled.xml | 1 +
.../x86_64-cpuid-Core-i7-7600U-json.xml | 1 +
...6_64-cpuid-Xeon-Platinum-8268-disabled.xml | 7 +
...86_64-cpuid-Xeon-Platinum-8268-enabled.xml | 9 +
.../x86_64-cpuid-Xeon-Platinum-8268-guest.xml | 35 +
.../x86_64-cpuid-Xeon-Platinum-8268-host.xml | 36 +
.../x86_64-cpuid-Xeon-Platinum-8268-json.xml | 13 +
.../x86_64-cpuid-Xeon-Platinum-8268.json | 702 +++++++++++++++
.../x86_64-cpuid-Xeon-Platinum-8268.sig | 4 +
.../x86_64-cpuid-Xeon-Platinum-8268.xml | 55 ++
.../qemu_3.1.0.x86_64.xml | 155 ++++
.../qemu_4.0.0.x86_64.xml | 2 +
tests/domaincapstest.c | 4 +
28 files changed, 1954 insertions(+), 586 deletions(-)
create mode 100644 src/cpu_map/x86_Cascadelake-Server.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268.xml
create mode 100644 tests/domaincapsschemadata/qemu_3.1.0.x86_64.xml
--
2.21.0