On 09/12/2012 05:11 PM, Richard Henderson wrote:
On 09/12/2012 06:25 AM, Alexander Graf wrote:
+ case S390_PSWM_REGNUM:
+ env->psw.mask = tmpl;
+ env->cc_op = (tmpl >> 13) & 3;
Are you sure this is correct? I thought gdbstub would just ignore the cc bits.
Well... no it won't ignore the cc bits.
So the CC pseudo-register is never written to?
But it would appear that I've got
them at the wrong location. From gdb/s390-tdep.c:
if (regnum == tdep->cc_regnum)
{
enum register_status status;
status = regcache_raw_read_unsigned (regcache, S390_PSWM_REGNUM, &val);
if (status == REG_VALID)
{
if (register_size (gdbarch, S390_PSWA_REGNUM) == 4)
val = (val >> 12) & 3;
Oops :)
Alex