RFC mostly because the kernel support is not yet upsteam.
This is based on
https://lore.kernel.org/linux-arm-kernel/[email protected]/
Properly testing this will take more time. I'm not 100%
sure how to confirm that the SME registers have the correct
value across migration.
I'm thinking of a test case in which the ZArray is loaded,
the test program pauses, migration or vm save/load initiated,
and the ZArray contents are verified after continuing.
But anything that takes timing into account like that
seems way sketchy, so I dunno.
All I can say at the moment is that the VM does start up
with SME enabled and stuff doesn't crash, but that the
get/put paths are not really exercised.
r~
Richard Henderson (13):
NOTFORMERGE: Update linux-headers for arm64 kvm from SME devel branch
target/arm: Remove aarch64 test for kvm
target/arm: Move kvm_arm_sve_get_vls within kvm.c
target/arm: Init sve_vq in kvm_arm_set_cpu_features_from_host
target/arm: Move kvm test out of cpu_arm_set_sve
target/arm: Drop kvm_arm_sve_supported
target/arm: Remove kvm test in arm_set_pmu
target/arm: Drop kvm_arm_pmu_supported
target/arm: Detect SME in kvm_arm_get_host_cpu_features
target/arm: Add vq argument to kvm_arch_{get,put}_sve
target/arm: Add have_ffr argument to kvm_arch_{get,put}_sve
target/arm: Add SME state to kvm_arch_{get,put}_registers
target/arm: Add SME properties for KVM
linux-headers/asm-arm64/kvm.h | 33 ++++
linux-headers/linux/kvm.h | 1 +
target/arm/kvm_arm.h | 35 ----
target/arm/cpu.c | 4 -
target/arm/cpu64.c | 90 ++++++----
target/arm/kvm-stub.c | 15 --
target/arm/kvm.c | 308 +++++++++++++++++++++++-----------
target/arm/tcg/cpu64.c | 2 +-
8 files changed, 306 insertions(+), 182 deletions(-)
--
2.43.0