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


Reply via email to