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


Reply via email to