mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-23 21:44:15 +00:00
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: Roberto Vargas <roberto.vargas@arm.com>
This commit is contained in:
parent
d1f7292e43
commit
487d3bf286
1 changed files with 11 additions and 2 deletions
|
@ -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
|
||||||
. = 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*)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue