ARM: Add CONFIG_ARMV7_SECURE_MAX_SIZE and check size of secure section
As the PSCI implementation grows, we might exceed the size of the secure memory that holds the firmware. Add a configurable CONFIG_ARMV7_SECURE_MAX_SIZE so platforms can define how much secure memory is available. The linker then checks the size of the whole secure section against this. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
28f9035732
commit
3eff681818
|
@ -86,6 +86,17 @@ SECTIONS
|
||||||
. = ALIGN(CONSTANT(COMMONPAGESIZE));
|
. = ALIGN(CONSTANT(COMMONPAGESIZE));
|
||||||
|
|
||||||
KEEP(*(.__secure_stack_end))
|
KEEP(*(.__secure_stack_end))
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARMV7_SECURE_MAX_SIZE
|
||||||
|
/*
|
||||||
|
* We are not checking (__secure_end - __secure_start) here,
|
||||||
|
* as these are the load addresses, and do not include the
|
||||||
|
* stack section. Instead, use the end of the stack section
|
||||||
|
* and the start of the text section.
|
||||||
|
*/
|
||||||
|
ASSERT((. - ADDR(.secure_text)) <= CONFIG_ARMV7_SECURE_MAX_SIZE,
|
||||||
|
"Error: secure section exceeds secure memory size");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef __ARMV7_PSCI_STACK_IN_RAM
|
#ifndef __ARMV7_PSCI_STACK_IN_RAM
|
||||||
|
|
Loading…
Reference in New Issue