[PATCH v2 15/20] KVM: s390: arm64: Use QAAF init save area
Steffen Eiden
seiden at linux.ibm.com
Mon Aug 31 07:55:30 PDT 2026
Use the (cached) result of QAAF fc2 (Generate Initial
System-Registers-Save Area) to initialize the Save Area.
Signed-off-by: Steffen Eiden <seiden at linux.ibm.com>
---
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 <clocksource/arm_arch_timer.h>
+#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
More information about the linux-arm-kernel
mailing list