Hiya. This is looking toward cleaning up a couple of things:
(1) There are 5 bits of x86 host detection, 3 of them for xbzrle. Unify this down to one, with additional cleanups for xbzrle. (2) Provides a host-specific include path for splitting atomic128.h and probably other stuff so as to avoid host-specific ifdefs. Actually splitting atomic128.h is so far left for further work. r~ Richard Henderson (9): util: Introduce host-specific cpuinfo.h util: Add cpuinfo-i386.c util: Add i386 CPUINFO_ATOMIC_VMOVDQU tcg/i386: Use cpuinfo.h util/bufferiszero: Use i386 cpuinfo.h migration/xbzrle: Shuffle function order migration/xbzrle: Use i386 cacheinfo.h migration: Build migration_files once util: Add cpuinfo-aarch64.c include/host/aarch64/cpuinfo.h | 22 ++ include/host/generic/cpuinfo.h | 4 + include/host/i386/cpuinfo.h | 39 +++ include/host/x86_64/cpuinfo.h | 1 + migration/xbzrle.h | 5 +- tcg/aarch64/tcg-target.h | 4 +- tcg/i386/tcg-target.h | 28 +- migration/ram.c | 34 +-- migration/xbzrle.c | 268 ++++++++++--------- tests/bench/xbzrle-bench.c | 469 --------------------------------- tests/unit/test-xbzrle.c | 49 +--- util/bufferiszero.c | 126 ++++----- util/cpuinfo-aarch64.c | 67 +++++ util/cpuinfo-i386.c | 99 +++++++ meson.build | 8 + migration/meson.build | 1 - tcg/aarch64/tcg-target.c.inc | 41 +-- tcg/i386/tcg-target.c.inc | 123 +-------- tests/bench/meson.build | 6 - util/meson.build | 6 + 20 files changed, 476 insertions(+), 924 deletions(-) create mode 100644 include/host/aarch64/cpuinfo.h create mode 100644 include/host/generic/cpuinfo.h create mode 100644 include/host/i386/cpuinfo.h create mode 100644 include/host/x86_64/cpuinfo.h delete mode 100644 tests/bench/xbzrle-bench.c create mode 100644 util/cpuinfo-aarch64.c create mode 100644 util/cpuinfo-i386.c -- 2.34.1