[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 2/4] target/arm: Support AA32 DIT by moving PSTATE_SS from
From: |
Richard Henderson |
Subject: |
Re: [PATCH v4 2/4] target/arm: Support AA32 DIT by moving PSTATE_SS from cpsr into env->pstate |
Date: |
Wed, 3 Feb 2021 10:36:26 -1000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
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~