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 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list