Platform: Adjust ARMCLANG linker script to support multi-core topology
Adjust the secure data layout in ARMLANG linker script to support
build in multi-core topology.
- Armv6-M/Armv7-M MPU requires MPU region base address to align
with MPU region size. Multi-core platforms may have to use
multiple MPU regions to cover a data section which doesn't
satisfy the alignment. The interleaved unprivileged/privileged
data sections layout will run out of Armv6-M/Armv7-M MPU regions.
To save both MPU regions and memory resource, separate the
unprivileged and privileged secure data sections and group them
into unprivileged/privileged data area respectively.
Thus, multi-core platforms can just cover a whole unprivileged
data area and a whole privileged data area, with much fewer MPU
regions cost.
- Put privileged data sections at the bottom of secure data area
to align with GCC linker script layout.
- Move BL2 shared data section and Main Stack to privileged data
area in multi-core topology.
- Move Process Stack to privileged data area in multi-core
topology.
Change-Id: I7e30906ce85cf325dc0ebde6711893f1a2835795
Signed-off-by:
David Hu <david.hu@arm.com>
Loading
Please register or sign in to comment