summaryrefslogtreecommitdiff
path: root/target-s390x
diff options
context:
space:
mode:
authorThomas Huth <thuth@linux.vnet.ibm.com>2014-01-14 12:13:32 +0100
committerChristian Borntraeger <borntraeger@de.ibm.com>2014-02-27 09:51:25 +0100
commite8803d93df1bbaebe015b602a8178b424903bf5f (patch)
treecabda9d190da4e5fb015c8064ea0215bf4d0c8ef /target-s390x
parent6e25280216fc23c8387892f76d961559da124528 (diff)
downloadqemu-e8803d93df1bbaebe015b602a8178b424903bf5f.tar.gz
s390x/sclp: Fixed setting of condition code register
In the SCLP handler function, the condition code register must only be set if no exception occured. Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'target-s390x')
-rw-r--r--target-s390x/kvm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
index e7b3b1375c..d3f0d4a7b2 100644
--- a/target-s390x/kvm.c
+++ b/target-s390x/kvm.c
@@ -451,8 +451,9 @@ static int kvm_sclp_service_call(S390CPU *cpu, struct kvm_run *run,
r = sclp_service_call(env, sccb, code);
if (r < 0) {
enter_pgmcheck(cpu, -r);
+ } else {
+ setcc(cpu, r);
}
- setcc(cpu, r);
return 0;
}