[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent T
From: |
Peter Maydell |
Subject: |
Re: [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing |
Date: |
Fri, 11 Dec 2020 21:37:28 +0000 |
On Fri, 11 Dec 2020 at 19:51, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 12/11/20 1:33 PM, Rebecca Cran wrote:
> > Is the comment in target/arm/op_helper.c:397 still relevant?
> >
> > uint32_t HELPER(cpsr_read)(CPUARMState *env)
> > {
> > /*
> > * We store the ARMv8 PSTATE.SS bit in env->uncached_cpsr.
> > * This is convenient for populating SPSR_ELx, but must be
> > * hidden from aarch32 mode, where it is not visible.
> > *
> > * TODO: ARMv8.4-DIT -- need to move SS somewhere else.
> > */
> > return cpsr_read(env) & ~(CPSR_EXEC | PSTATE_SS);
> > }
>
> I forgot about this. So we can't "just" store DIT in uncached_cpsr.
>
> I'll let Peter weigh in, but I think it makes sense to move the SS bit
> somewhere else (e.g. env->pstate) and merge it into SPSR_ELx upon interrupt.
> While what we're doing here is convenient, it's not architectural, and it
> would
> be better to follow GetPSRFromPSTATE pseudocode.
Yes, I think that's the best thing to do. We've been skating
by on CPSR and SPSR being the same thing and it's just
stopped working.
-- PMM
- [PATCH 0/2] target/arm: Add support for DIT (Data Independent Timing), Rebecca Cran, 2020/12/11
- [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing, Rebecca Cran, 2020/12/11
- Re: [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing, Richard Henderson, 2020/12/11
- Re: [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing, Rebecca Cran, 2020/12/11
- Re: [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing, Richard Henderson, 2020/12/11
- Re: [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing,
Peter Maydell <=
- Re: [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing, Rebecca Cran, 2020/12/14
- Re: [PATCH 1/2] target/arm: add support for FEAT_DIT, Data Independent Timing, Peter Maydell, 2020/12/14
[PATCH 2/2] target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CPU, Rebecca Cran, 2020/12/11