Skip to content
Commit a81bef3b authored by David Hu's avatar David Hu
Browse files

Platform: Adjust GNUARM linker script to support multi-core topology



Adjust the secure data layout in GNUARM 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 platform 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
  make sure TFM_DATA and TFM_BSS sections are at the end.
  Otherwise, the two sections will collect data/bss from other
  sections.
- 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: I544769542e5e65ca90b8bfb1af81f59e536fd006
Signed-off-by: default avatarDavid Hu <david.hu@arm.com>
parent 9076e82a
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment