KVM_SYNC_GPRS, KVM_SYNC_ACRS, KVM_SYNC_CRS and KVM_SYNC_PREFIX are
available since kernel 3.10. Since we already require at least kernel
3.15 in the s390x KVM code, we can also assume that the KVM_CAP_SYNC_REGS
sync code is always possible for these registers, and remove the
related checks and fallbacks via KVM_SET_REGS and KVM_GET_REGS.
v3:
- Don't sync ACRs, CRs and prefix in kvm_arch_put_registers()
when using level == KVM_PUT_RUNTIME_STATE
- Use g_assert(can_sync_regs(cs, KVM_SYNC_REQUIRED_REGS)) instead
of open-coding it.
v2:
- Split the patch from v1 into two patches
- Use a #define KVM_SYNC_REQUIRED_BITS for the required sync bits
- Use memcpy() instead of for-loops for copying the registers
Thomas Huth (2):
target/s390x/kvm: Turn KVM_CAP_SYNC_REGS into a hard requirement
target/s390x/kvm: Simplify the GPRs, ACRs, CRs and prefix
synchronization code
target/s390x/kvm/kvm.c | 124 ++++++++++++-----------------------------
1 file changed, 37 insertions(+), 87 deletions(-)
--
2.41.0