On 2/3/21 10:28 AM, Rebecca Cran wrote: > On 2/3/21 10:17 AM, Richard Henderson wrote: >> On 2/2/21 6:58 PM, Rebecca Cran wrote: >>> if (!arm_singlestep_active(env)) { >>> - env->uncached_cpsr &= ~PSTATE_SS; >>> + env->pstate &= ~PSTATE_SS; >>> + } else { >>> + env->pstate |= PSTATE_SS; >>> } >> >> Where did this addition come from? > > I thought this was needed given your comment: > > "This is missing the restore of PSTATE_SS for when singlestep *is* active."
No, that was this: > + /* Save SPSR_ELx.SS into PSTATE. */ > + env->pstate = (env->pstate & ~PSTATE_SS) | (val & PSTATE_SS); > + val &= ~PSTATE_SS; which is a restore, not an unconditional enable as you do above. r~