Patchwork [7/7,v2] KVM regsync: S390 Relax register synchronization parameters

login
register
mail settings
Submitter Jason J. Herne
Date Jan. 10, 2013, 3:29 p.m.
Message ID <1357831767-4049-1-git-send-email-jjherne@us.ibm.com>
Download mbox | patch
Permalink /patch/211071/
State New
Headers show

Comments

Jason J. Herne - Jan. 10, 2013, 3:29 p.m.
From: "Jason J. Herne" <jjherne@us.ibm.com>

Some S390 code paths do not need to synchronize the full register state.
This patch changes those paths to only synchronize the runtime register set.

Signed-off-by: Jason J. Herne <jjherne@us.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
 target-s390x/kvm.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Patch

diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
index 81fe1a7..d338078 100644
--- a/target-s390x/kvm.c
+++ b/target-s390x/kvm.c
@@ -354,7 +354,7 @@  static int kvm_sclp_service_call(S390CPU *cpu, struct kvm_run *run,
     uint64_t code;
     int r = 0;
 
-    cpu_synchronize_state(env, KVM_REGSYNC_FULL_STATE);
+    cpu_synchronize_state(env, KVM_REGSYNC_RUNTIME_STATE);
     sccb = env->regs[ipbh0 & 0xf];
     code = env->regs[(ipbh0 & 0xf0) >> 4];
 
@@ -388,7 +388,7 @@  static int handle_priv(S390CPU *cpu, struct kvm_run *run, uint8_t ipa1)
 
 static int handle_hypercall(CPUS390XState *env, struct kvm_run *run)
 {
-    cpu_synchronize_state(env, KVM_REGSYNC_FULL_STATE);
+    cpu_synchronize_state(env, KVM_REGSYNC_RUNTIME_STATE);
     env->regs[2] = s390_virtio_hypercall(env, env->regs[2], env->regs[1]);
 
     return 0;
@@ -463,7 +463,7 @@  static int handle_sigp(S390CPU *cpu, struct kvm_run *run, uint8_t ipa1)
     S390CPU *target_cpu;
     CPUS390XState *target_env;
 
-    cpu_synchronize_state(env, KVM_REGSYNC_FULL_STATE);
+    cpu_synchronize_state(env, KVM_REGSYNC_RUNTIME_STATE);
 
     /* get order code */
     order_code = run->s390_sieic.ipb >> 28;