diff options
| author | Alexander Graf <agraf@suse.de> | 2011-03-23 10:58:07 +0100 |
|---|---|---|
| committer | Alexander Graf <agraf@suse.de> | 2011-05-20 17:35:12 +0200 |
| commit | 59467bacfae8113b03123e651d831682ea73c586 (patch) | |
| tree | c00b4fe5012fabb75d987ab48f8ef6fdceea5ed3 | |
| parent | e023e832d0ac7d863658074cb39be2b78a29ee64 (diff) | |
| download | focaccia-qemu-59467bacfae8113b03123e651d831682ea73c586.tar.gz focaccia-qemu-59467bacfae8113b03123e651d831682ea73c586.zip | |
s390x: Adjust GDB stub
We have successfully lazilized cc computation, so we need to manually trigger its calculation when gdb wants to fetch it. We also changed the variable name, so writing it writes into a different field now. Signed-off-by: Alexander Graf <agraf@suse.de>
| -rw-r--r-- | gdbstub.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gdbstub.c b/gdbstub.c index 0838948c5c..ae856f91d4 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1436,7 +1436,11 @@ static int cpu_gdb_read_register(CPUState *env, uint8_t *mem_buf, int n) /* XXX */ break; case S390_PC_REGNUM: GET_REGL(env->psw.addr); break; - case S390_CC_REGNUM: GET_REG32(env->cc); break; + case S390_CC_REGNUM: + env->cc_op = calc_cc(env, env->cc_op, env->cc_src, env->cc_dst, + env->cc_vr); + GET_REG32(env->cc_op); + break; } return 0; @@ -1462,7 +1466,7 @@ static int cpu_gdb_write_register(CPUState *env, uint8_t *mem_buf, int n) /* XXX */ break; case S390_PC_REGNUM: env->psw.addr = tmpl; break; - case S390_CC_REGNUM: env->cc = tmp32; r=4; break; + case S390_CC_REGNUM: env->cc_op = tmp32; r=4; break; } return r; |