target/arm: Support AA32 DIT by moving PSTATE_SS from cpsr into env->pstate
commitf944a854ce4007000accf7c191b5b52916947198
authorRebecca Cran <rebecca@nuviainc.com>
Mon, 8 Feb 2021 06:56:58 +0000 (7 23:56 -0700)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 11 Feb 2021 11:50:14 +0000 (11 11:50 +0000)
tree2bf085274691ac1da4090bbb9a1084b1a98c5600
parentdc8b18534ea1dcc90d80ad9a61a3b0aa7eb312fb
target/arm: Support AA32 DIT by moving PSTATE_SS from cpsr into env->pstate

cpsr has been treated as being the same as spsr, but it isn't.
Since PSTATE_SS isn't in cpsr, remove it and move it into env->pstate.

This allows us to add support for CPSR_DIT, adding helper functions
to merge SPSR_ELx to and from CPSR.

Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210208065700.19454-3-rebecca@nuviainc.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/helper-a64.c
target/arm/helper.c
target/arm/op_helper.c