[U-Boot] [PATCH V2 1/3] arm: discard relocation entry for secure section

Peng Fan Peng.Fan at freescale.com
Tue Oct 20 07:59:53 CEST 2015


The code such as PSCI in section named secure is bundled with
u-boot image, and when bootm, the code will be copied to their
runtime address same to compliation/linking address -
CONFIG_ARMV7_SECURE_BASE.

When compile the PSCI code and link it into the u-boot image,
there will be relocation entries in .rel.dyn section for PSCI.
Actually, we do not needs these relocation entries.

If still keep the relocation entries in .rel.dyn section,
r0 at line 103 and 106 in arch/arm/lib/relocate.S may be an invalid
address which may not support read/write for one SoC.
102         /* relative fix: increase location by offset */
103         add     r0, r0, r4
104         ldr     r1, [r0]
105         add     r1, r1, r4
106         str     r1, [r0]

So discard the relocation entries for code in secure section.

Signed-off-by: Peng Fan <Peng.Fan at freescale.com>
Cc: Tom Warren <twarren at nvidia.com>
Cc: York Sun <yorksun at freescale.com>
Cc: Hans De Goede <hdegoede at redhat.com>
Cc: Ian Campbell <ijc at hellion.org.uk>
Cc: Albert Aribaud <albert.u.boot at aribaud.net>
Cc: Tom Rini <trini at konsulko.com>
Cc: Jan Kiszka <jan.kiszka at siemens.com>
Cc: Stefano Babic <sbabic at denx.de>
---

V1 thread: http://lists.denx.de/pipermail/u-boot/2015-October/229426.html
Changes V2:
 Refine commit msg.
 Discard the relocation entry section for secure text. 

 arch/arm/cpu/u-boot.lds | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
index 03cd9f6..55a0683 100644
--- a/arch/arm/cpu/u-boot.lds
+++ b/arch/arm/cpu/u-boot.lds
@@ -51,6 +51,8 @@ SECTIONS
 		*(.__secure_end)
 		LONG(0x1d1071c);	/* Must output something to reset LMA */
 	}
+
+	/DISCARD/ : { *(.rel._secure*) }
 #endif
 
 	. = ALIGN(4);
-- 
1.8.4




More information about the U-Boot mailing list