Use the (cached) result of QAAF fc2 (Generate Initial System-Registers-Save Area) to initialize the Save Area. Signed-off-by: Steffen Eiden --- arch/s390/kvm/arm64/arm.c | 1 - arch/s390/kvm/arm64/reset.c | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/s390/kvm/arm64/arm.c b/arch/s390/kvm/arm64/arm.c index 3a0bba6e0a06..ab6e7d135435 100644 --- a/arch/s390/kvm/arm64/arm.c +++ b/arch/s390/kvm/arm64/arm.c @@ -360,7 +360,6 @@ static int kvm_arch_vcpu_ioctl_vcpu_init(struct kvm_vcpu *vcpu, int ret; sae_block->save_area = virt_to_phys(save_area); - save_area->sdo = virt_to_phys(sae_block); ret = kvm_vcpu_set_target(vcpu, init); if (ret) diff --git a/arch/s390/kvm/arm64/reset.c b/arch/s390/kvm/arm64/reset.c index 74622ba6f081..bc7bcee75779 100644 --- a/arch/s390/kvm/arm64/reset.c +++ b/arch/s390/kvm/arm64/reset.c @@ -10,6 +10,8 @@ #include +#include "qaaf.h" + bool kvm_arm_vcpu_is_finalized(struct kvm_vcpu *vcpu) { return true; @@ -79,6 +81,9 @@ void kvm_reset_vcpu(struct kvm_vcpu *vcpu) if (loaded) vcpu_put(vcpu); + kvm_vcpu_init_save_area(&vcpu->arch.save_area); + vcpu->arch.save_area.sdo = virt_to_phys(&vcpu->arch.sae_block); + kvm_reset_vcpu_core(vcpu); kvm_reset_sys_regs(vcpu); -- 2.53.0