arm-trusted-firmware/include/plat
Olivier Deprez 1922875233 fix(spm-mm): carve out NS buffer TZC400 region
SPM-MM defines AP TZC-400 regions as such:

1: 0xff000000  0xffffffff   S
2: 0x80000000  0xfeffffff   NS
3: 0x880000000 0xfffffffff  NS
4: 0xff600000  0xff60ffff   NS

Region 4 (using filter 0) defines the SPM NS shared buffer between
normal world and secure world.
However region 4 overlaps with region 1 (using filter 0) defined as
secure.
It is forbidden to define overlapping regions beyond region 0 for the
same filter. This is reported as a violation in the TZC-400 controller.

With FVP models < 11.25 the error is latent but not reported to the PE
(reason for this behavior is unclear).
With greater FVP model version the error is reported as an asynchronous
external abort (SError exception).

By carving out the SPM NS shared region (with regions as defined below),
the violation is no longer reported and test passed with recent FVP
models:

1: 0x80000000  0xfeffffff   NS
2: 0xff000000  0xff5fffff   S
3: 0xff600000  0xff60ffff   NS
4: 0xff610000  0xffffffff   S
5: 0x880000000 0xfffffffff  NS

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: Idc3370803ad204ac29efeded77305e52e17cc1c1
2024-06-11 17:13:38 +02:00
..
arm fix(spm-mm): carve out NS buffer TZC400 region 2024-06-11 17:13:38 +02:00
brcm/common Add BL2 support for Broadcom stingray platform 2020-04-03 17:12:42 +05:30
common Merge changes from topic "early_console" into integration 2024-05-08 23:12:11 +02:00
marvell/armada refactor(libc): clean up dependencies in libc 2022-09-22 13:23:49 +02:00
nuvoton fix(nuvoton): fix MMU mapping settings 2024-06-06 09:24:13 +02:00