qemu/target
Thomas Roth 7e3f122367 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>
2019-01-29 11:46:03 +00:00
..
alpha avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
arm target/arm: v8m: Ensure IDAU is respected if SAU is disabled 2019-01-29 11:46:03 +00:00
cris avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
hppa vmstate: constify VMStateField 2018-11-27 15:35:15 +01:00
i386 i386/kvm: add a comment explaining why .feat_names are commented out for Hyper-V feature bits 2019-01-14 12:28:44 -02:00
lm32 tcg-next queue 2018-06-04 11:28:31 +01:00
m68k target/m68k: use EXCP_ILLEGAL instead of EXCP_UNSUPPORTED 2018-11-01 12:12:24 +01:00
microblaze target/microblaze: Add props enabling exceptions on failed bus accesses 2019-01-22 03:17:34 -08:00
mips target/mips: Add I6500 core configuration 2019-01-24 17:48:33 +01:00
moxie tcg-next queue 2018-06-04 11:28:31 +01:00
nios2 tcg-next queue 2018-06-04 11:28:31 +01:00
openrisc vmstate: constify VMStateField 2018-11-27 15:35:15 +01:00
ppc ppc: e6500 registers SPR 604 twice 2019-01-24 13:34:20 +01:00
riscv RISC-V: Implement existential predicates for CSRs 2019-01-09 10:00:56 -08:00
s390x s390x: Return specification exception for unimplemented diag 308 subcodes 2019-01-18 11:52:00 +01:00
sh4 sh4: fix use_icount with linux-user 2018-08-20 00:11:06 +02:00
sparc qdev-props: remove errp from GlobalProperty 2019-01-07 16:18:42 +04:00
tilegx avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
tricore target/tricore: use float32_is_denormal 2018-12-17 08:25:25 +00:00
unicore32 target/unicore32: remove tlb_flush from uc32_init_fn 2018-10-18 18:58:10 -07:00
xtensa target/xtensa: move non-HELPER functions to helper.c 2019-01-13 23:36:31 -08:00