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 <manos.pitsidianakis@linaro.org>
---
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/20260115-sme2-hvf-v2-0-2eca481bd7ee@linaro.org
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/20260114-sme2-hvf-v1-0-ce9599596736@linaro.org
---
Manos Pitsidianakis (2):
hvf/arm: handle FEAT_SME2 migration
hvf/arm: expose FEAT_SME2 to guest if available
target/arm/cpu64.c | 13 +-
target/arm/hvf/hvf.c | 314 +++++++++++++++++++++++++++++++++++++++--
target/arm/hvf/hvf_sme_stubs.h | 158 +++++++++++++++++++++
target/arm/hvf/sysreg.c.inc | 8 ++
target/arm/hvf_arm.h | 44 ++++++
target/arm/machine.c | 2 +-
6 files changed, 523 insertions(+), 16 deletions(-)
---
base-commit: 6593154e7d65f61d8f9dbeb98224731b7137c53e
change-id: 20260114-sme2-hvf-105767189521
--
γαῖα πυρί μιχθήτω