mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-10-01 10:41:49 +02:00
ARM: create .secure_stack section only for PSCI
Jon Master reports that QEMU refuses to load a U-Boot image built with CONFIG_ARMV7_NONSEC, but without CONFIG_ARMV7_PSCI since commit 5a3aae68c74e ("ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI"). It looks like only PSCI that needs the Secure stack, so move the #ifdef to guard the whole of .secure_stack allocation in order not to create the empty section. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reported-by: Jon Masters <jcm@redhat.com> Link: http://patchwork.ozlabs.org/patch/664025/
This commit is contained in:
parent
4504062b27
commit
2fe1281c79
@ -74,6 +74,7 @@ SECTIONS
|
|||||||
*(._secure.data)
|
*(._secure.data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ARMV7_PSCI
|
||||||
.secure_stack ALIGN(ADDR(.secure_data) + SIZEOF(.secure_data),
|
.secure_stack ALIGN(ADDR(.secure_data) + SIZEOF(.secure_data),
|
||||||
CONSTANT(COMMONPAGESIZE)) (NOLOAD) :
|
CONSTANT(COMMONPAGESIZE)) (NOLOAD) :
|
||||||
#ifdef __ARMV7_PSCI_STACK_IN_RAM
|
#ifdef __ARMV7_PSCI_STACK_IN_RAM
|
||||||
@ -83,10 +84,10 @@ SECTIONS
|
|||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
KEEP(*(.__secure_stack_start))
|
KEEP(*(.__secure_stack_start))
|
||||||
#ifdef CONFIG_ARMV7_PSCI
|
|
||||||
/* Skip addreses for stack */
|
/* Skip addreses for stack */
|
||||||
. = . + CONFIG_ARMV7_PSCI_NR_CPUS * ARM_PSCI_STACK_SIZE;
|
. = . + CONFIG_ARMV7_PSCI_NR_CPUS * ARM_PSCI_STACK_SIZE;
|
||||||
#endif
|
|
||||||
/* Align end of stack section to page boundary */
|
/* Align end of stack section to page boundary */
|
||||||
. = ALIGN(CONSTANT(COMMONPAGESIZE));
|
. = ALIGN(CONSTANT(COMMONPAGESIZE));
|
||||||
|
|
||||||
@ -107,6 +108,8 @@ SECTIONS
|
|||||||
#ifndef __ARMV7_PSCI_STACK_IN_RAM
|
#ifndef __ARMV7_PSCI_STACK_IN_RAM
|
||||||
/* Reset VMA but don't allocate space if we have secure SRAM */
|
/* Reset VMA but don't allocate space if we have secure SRAM */
|
||||||
. = LOADADDR(.secure_stack);
|
. = LOADADDR(.secure_stack);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
.__secure_end : AT(ADDR(.__secure_end)) {
|
.__secure_end : AT(ADDR(.__secure_end)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user