From 44b0c0bbb50818e995702cf76d8e07dd36f479bf Mon Sep 17 00:00:00 2001 From: Christian Borntraeger Date: Thu, 3 Apr 2014 11:01:13 +0200 Subject: [PATCH] s390x/kvm: sync gbea and pp register We also need to sync guest breaking event address and program parameter register for migration support. Signed-off-by: Christian Borntraeger Reviewed-by: Cornelia Huck Signed-off-by: Cornelia Huck --- target-s390x/cpu.h | 3 +++ target-s390x/kvm.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h index f332d41b94..41903a93fb 100644 --- a/target-s390x/cpu.h +++ b/target-s390x/cpu.h @@ -126,6 +126,9 @@ typedef struct CPUS390XState { uint64_t pfault_compare; uint64_t pfault_select; + uint64_t gbea; + uint64_t pp; + CPU_COMMON /* reset does memset(0) up to here */ diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c index daaabbd674..a30d1bc060 100644 --- a/target-s390x/kvm.c +++ b/target-s390x/kvm.c @@ -199,6 +199,8 @@ int kvm_arch_put_registers(CPUState *cs, int level) kvm_set_one_reg(cs, KVM_REG_S390_CPU_TIMER, &env->cputm); kvm_set_one_reg(cs, KVM_REG_S390_CLOCK_COMP, &env->ckc); kvm_set_one_reg(cs, KVM_REG_S390_TODPR, &env->todpr); + kvm_set_one_reg(cs, KVM_REG_S390_GBEA, &env->gbea); + kvm_set_one_reg(cs, KVM_REG_S390_PP, &env->pp); if (cap_async_pf) { r = kvm_set_one_reg(cs, KVM_REG_S390_PFTOKEN, &env->pfault_token); @@ -304,6 +306,8 @@ int kvm_arch_get_registers(CPUState *cs) kvm_get_one_reg(cs, KVM_REG_S390_CPU_TIMER, &env->cputm); kvm_get_one_reg(cs, KVM_REG_S390_CLOCK_COMP, &env->ckc); kvm_get_one_reg(cs, KVM_REG_S390_TODPR, &env->todpr); + kvm_get_one_reg(cs, KVM_REG_S390_GBEA, &env->gbea); + kvm_get_one_reg(cs, KVM_REG_S390_PP, &env->pp); if (cap_async_pf) { r = kvm_get_one_reg(cs, KVM_REG_S390_PFTOKEN, &env->pfault_token); -- GitLab