mbox series

[for-8.1,0/3] target/arm: Fix ptw bugs introduced by FEAT_RME changes

Message ID 20230710152130.3928330-1-peter.maydell@linaro.org
Headers show
Series target/arm: Fix ptw bugs introduced by FEAT_RME changes | expand

Message

Peter Maydell July 10, 2023, 3:21 p.m. UTC
This patchset fixes a couple of bugs in the arm ptw code that were
inadvertently introduced by the recent changes to support FEAT_RME.
One is with the handling of debug accesses in Secure state with
EL2 disabled, reported by Jean-Philippe. The other is one I noticed
while reading the code where if VSTCR.SA/VTCR.NSA require the
output of a two-stage translation to be squashed to NS then we
don't also set the f.attrs.space accordingly.

I also think we need to refactor the ptw code to stop passing bool
in_secure around (both directly as function arguments and in the
S1Translate struct) and instead always use an ARMSecuritySpace.
However I don't think that will affect any use cases that don't
turn on the (experimental) FEAT_RME support, so it's not so
urgent as this bugfix.

Patch 1 is just documenting the meaning of some of the S1Translate
struct fields, since I've now had to think through this twice and
hope to avoid doing so a third time :-)

thanks
-- PMM

Peter Maydell (3):
  target/arm/ptw.c: Add comments to S1Translate struct fields
  target/arm: Fix S1_ptw_translate() debug path
  target/arm/ptw.c: Account for FEAT_RME when applying {N}SW,SA bits

 target/arm/ptw.c | 90 ++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 80 insertions(+), 10 deletions(-)