summaryrefslogtreecommitdiff
path: root/bl2/bl2.ld.S
diff options
context:
space:
mode:
authorSandrine Bailleux <sandrine.bailleux@arm.com>2014-05-22 15:28:26 +0100
committerSandrine Bailleux <sandrine.bailleux@arm.com>2014-05-23 11:05:44 +0100
commita37255a205fa004bfc075aca81cef45b99dc30cb (patch)
treeb7ff04d96b7d675c22e95a1ce4734b00128292cd /bl2/bl2.ld.S
parent4f59d8359f97e031c212032afeb57124ac4fcd94 (diff)
Make the memory layout more flexible
Currently the platform code gets to define the base address of each boot loader image. However, the linker scripts couteract this flexibility by enforcing a fixed overall layout of the different images. For example, they require that the BL3-1 image sits below the BL2 image. Choosing BL3-1 and BL2 base addresses in such a way that it violates this constraint makes the build fail at link-time. This patch requires the platform code to now define a limit address for each image. The linker scripts check that the image fits within these bounds so they don't rely anymore on the position of a given image in regard to the others. Fixes ARM-software/tf-issues#163 Change-Id: I8c108646825da19a6a8dfb091b613e1dd4ae133c
Diffstat (limited to 'bl2/bl2.ld.S')
-rw-r--r--bl2/bl2.ld.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/bl2/bl2.ld.S b/bl2/bl2.ld.S
index edb676af..9f02e92c 100644
--- a/bl2/bl2.ld.S
+++ b/bl2/bl2.ld.S
@@ -117,4 +117,6 @@ SECTIONS
__BSS_SIZE__ = SIZEOF(.bss);
__COHERENT_RAM_UNALIGNED_SIZE__ =
__COHERENT_RAM_END_UNALIGNED__ - __COHERENT_RAM_START__;
+
+ ASSERT(. <= BL2_LIMIT, "BL2 image has exceeded its limit.")
}