M4/M5 Macs support SME2, and HVF exposes this functionality in its public API.
Add support for it in QEMU. This was tested by running an SME2 benchmark from Arm [0]. savevm and loadvm during the benchmark's run were used to verify migration works. [0]: https://learn.arm.com/learning-paths/cross-platform/multiplying-matrices-with-sme2/1-get-started/ Signed-off-by: Manos Pitsidianakis <[email protected]> --- Changes in v5: - Fix NEON registers getting zeroed when loading vmstate by setting SVCR first - Link to v4: https://lore.kernel.org/qemu-devel/[email protected] Changes in v4: - Set cpu->sme_vq.supported in hvf_arm_set_cpu_features_from_host (thanks Richard) - Removed two rogue lines that were smuggled in by git-rebase (thanks Mohamed) - Link to v3: https://lore.kernel.org/qemu-devel/[email protected] Changes in v3: - Rebased against master now that it supports SME-without-SVE setups for gdbstub - Link to v2: https://lore.kernel.org/qemu-devel/[email protected] Changes in v2: - Added stubs if hvf 15.2 headers are not available (suggested by agraf) - Link to v1: https://lore.kernel.org/qemu-devel/[email protected] --- Manos Pitsidianakis (2): hvf/arm: handle FEAT_SME2 migration hvf/arm: expose FEAT_SME2 to guest if available target/arm/hvf/hvf.c | 323 +++++++++++++++++++++++++++++++++++++++-- target/arm/hvf/hvf_sme_stubs.h | 158 ++++++++++++++++++++ target/arm/hvf/sysreg.c.inc | 8 + target/arm/hvf_arm.h | 41 ++++++ target/arm/machine.c | 2 +- 5 files changed, 517 insertions(+), 15 deletions(-) --- base-commit: d8a9d97317d03190b34498741f98f22e2a9afe3e change-id: 20260114-sme2-hvf-105767189521 -- γαῖα πυρί μιχθήτω
