On 10/19/21 9:44 AM, Warner Losh wrote:
+    cpsr_write(env, regs->uregs[16], 0xffffffff, CPSRWriteRaw);

This looks a bit suspicious.
Over in linux-user we use

    cpsr_write(env, regs->uregs[16], CPSR_USER | CPSR_EXEC,
               CPSRWriteByInstr);

Are you setting something special in pt_regs that would warrant writing supervisor bits of CPSR? In addition, CPSRWriteRaw won't rebuild hflags, which means that changes to Thumb state won't be recognized properly.


r~

Reply via email to