On 11/4/21 5:27 PM, Tim Wiederhake wrote: > Many things can affect the availability of cpu features (e.g. software > upgrades, kernel versions, kernel command line, etc.) and invalidate the > cached capabilities without notice. Add CPUID information to the > capabilities cache. > > Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1953389. > > V1: https://listman.redhat.com/archives/libvir-list/2021-August/msg00138.html > > Tim Wiederhake (20): > cpu_x86: Simplify x86ParseCPUID > cpu_x86: Simplify x86ParseMSR > cpu_x86: Add x86ParseDataItemList > cpu: Change virCPUArchDataParse to take xmlNodePtr > cpu: Split up virCPUDataParse > cpu: Add virCPUDataIsIdentical > cpu_x86: Implement virCPUDataIsIdentical for x86 > cpu_arm: No need to protect macro definitions > cpu_arm: Implement virCPUDataIsIdentical for arm > cpu_ppc64: Implement virCPUDataIsIdentical for ppc64 > cpu: Add virCPUDataNewCopy > cpu_x86: Implement virCPUDataNewCopy for x86 > cpu_arm: Implement virCPUDataNewCopy for arm > cpu_ppc64: Implement virCPUDataNewCopy for ppc64 > virhostcpu: Add virHostCPUGetCPUID > cpu_x86: Add virCPUDataGetHost > cpu_x86: Implement virCPUDataGetHost for x86 > virQEMUCaps: Add host cpuid information > virQEMUCapsCachePriv: Add host cpuid information > qemu: Invalidate capabilities cache on host cpuid mismatch > > src/cpu/cpu.c | 97 +++++++++++- > src/cpu/cpu.h | 27 +++- > src/cpu/cpu_arm.c | 54 ++++++- > src/cpu/cpu_ppc64.c | 44 ++++++ > src/cpu/cpu_x86.c | 296 +++++++++++++++++++++++------------ > src/libvirt_private.syms | 5 + > src/qemu/qemu_capabilities.c | 33 +++- > src/qemu/qemu_capspriv.h | 3 +- > src/util/virhostcpu.c | 43 +++++ > src/util/virhostcpu.h | 2 + > tests/qemucapsprobe.c | 2 +- > 11 files changed, 486 insertions(+), 120 deletions(-) > Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Michal