target/arm: v8m: Ensure IDAU is respected if SAU is disabled
commit7e3f122367ec56ea2e8b7313cef82162eb7538c7
authorThomas Roth <code@stacksmashing.net>
Tue, 29 Jan 2019 11:46:03 +0000 (29 11:46 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 29 Jan 2019 11:46:03 +0000 (29 11:46 +0000)
treebf9f176613d265662260b55806fcf89f004513a6
parent36d820af0eddf4fc6a533579b052d8f0085a9fb8
target/arm: v8m: Ensure IDAU is respected if SAU is disabled

The current behavior of v8m_security_lookup in helper.c only checks whether the
IDAU specifies a higher security if the SAU is enabled. If SAU.ALLNS is set to
1, this will lead to addresses being treated as non-secure, even though the
IDAU indicates that they must be secure.

This patch changes the behavior to also check the IDAU if the SAU is currently
disabled.

(This brings the behaviour here into line with the v8M Arm ARM
SecurityCheck() pseudocode.)

Signed-off-by: Thomas Roth <code@stacksmashing.net>
Message-id: CAGGekkuc+-tvp5RJP7CM+Jy_hJF7eiRHZ96132sb=hPPCappKg@mail.gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: added pseudocode ref to the commit message, fixed comment style]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/helper.c