diff options
author | Thomas Huth <thuth@linux.vnet.ibm.com> | 2015-02-12 18:09:36 +0100 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2015-02-18 09:37:15 +0100 |
commit | 653b080960578c25ed88f7e6c5b7ec65d4fe1648 (patch) | |
tree | 4438e3191be977a7a3e7a9388f6df7388368d2df /target-s390x/kvm.c | |
parent | 57b22fc7920ff1bc40ea7f800a8b83520a1aa244 (diff) | |
download | hqemu-653b080960578c25ed88f7e6c5b7ec65d4fe1648.zip hqemu-653b080960578c25ed88f7e6c5b7ec65d4fe1648.tar.gz |
s390x/ioinst: Set condition code in ioinst_handle_tsch() handler
Move the setting of the condition code from kvm.c into the handler
function in ioinst.c itself, just like it has been done with the other
handlers already (TSCH has just not been changed yet since it is called
from a different dispatcher in kvm.c).
Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'target-s390x/kvm.c')
-rw-r--r-- | target-s390x/kvm.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c index f65a1d2..d7c57d9 100644 --- a/target-s390x/kvm.c +++ b/target-s390x/kvm.c @@ -1338,19 +1338,14 @@ static int handle_intercept(S390CPU *cpu) static int handle_tsch(S390CPU *cpu) { - CPUS390XState *env = &cpu->env; CPUState *cs = CPU(cpu); struct kvm_run *run = cs->kvm_run; int ret; cpu_synchronize_state(cs); - ret = ioinst_handle_tsch(env, env->regs[1], run->s390_tsch.ipb); - if (ret >= 0) { - /* Success; set condition code. */ - setcc(cpu, ret); - ret = 0; - } else if (ret < -1) { + ret = ioinst_handle_tsch(cpu, cpu->env.regs[1], run->s390_tsch.ipb); + if (ret < 0) { /* * Failure. * If an I/O interrupt had been dequeued, we have to reinject it. |