Commit 487d3bf2 authored by Roberto Vargas's avatar Roberto Vargas
Browse files

bl2-el3: Mark all the assembly functions in bl2 at el3



When BL2_AT_EL3 option is enabled some platforms are going to
need a resident part in BL2 because the boot rom may jump to it
after a reset. This patch introduces __TEXT_RESIDENT_START__ and
__TEXT_RESIDENT_END__ linker symbols that mark the resident region.

Change-Id: Ib20c1b8ee257831bcc0ca7d3df98d0cb617a04f8
Signed-off-by: default avatarRoberto Vargas <roberto.vargas@arm.com>
parent d1f7292e
...@@ -25,7 +25,10 @@ SECTIONS ...@@ -25,7 +25,10 @@ SECTIONS
#if SEPARATE_CODE_AND_RODATA #if SEPARATE_CODE_AND_RODATA
.text . : { .text . : {
__TEXT_START__ = .; __TEXT_START__ = .;
*bl2_el3_entrypoint.o(.text*) __TEXT_RESIDENT_START__ = .;
*bl2_el3_entrypoint.o(.text*)
*(.text.asm.*)
__TEXT_RESIDENT_END__ = .;
*(.text*) *(.text*)
*(.vectors) *(.vectors)
. = NEXT(PAGE_SIZE); . = NEXT(PAGE_SIZE);
...@@ -54,10 +57,16 @@ SECTIONS ...@@ -54,10 +57,16 @@ SECTIONS
. = NEXT(PAGE_SIZE); . = NEXT(PAGE_SIZE);
__RODATA_END__ = .; __RODATA_END__ = .;
} >RAM } >RAM
ASSERT(__TEXT_RESIDENT_END__ - __TEXT_RESIDENT_START__ <= PAGE_SIZE,
"Resident part of BL2 has exceeded its limit.")
#else #else
ro . : { ro . : {
__RO_START__ = .; __RO_START__ = .;
*bl2_el3_entrypoint.o(.text*) __TEXT_RESIDENT_START__ = .;
*bl2_el3_entrypoint.o(.text*)
*(.text.asm.*)
__TEXT_RESIDENT_END__ = .;
*(.text*) *(.text*)
*(.rodata*) *(.rodata*)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment