[meta-xilinx] [PATCH] arm-trusted-firmware: Dynamically get entry address

Nathan Rossi nathan at nathanrossi.com
Thu Sep 29 07:21:10 PDT 2016


Dynamically get the entry point address for the atf.ub image from the
bl31.elf based on the program headers entry point address which matches
the expected entry address (aka MEM_BASE).

Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
---
 .../arm-trusted-firmware/arm-trusted-firmware_git.bb        | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb b/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb
index f384f5bc51..8962429bc7 100644
--- a/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb
+++ b/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb
@@ -43,10 +43,17 @@ do_install() {
 	:
 }
 
+OUTPUT_DIR = "${S}/build/${PLATFORM}/release"
+
 do_deploy() {
 	install -d ${DEPLOYDIR}
-	install -m 0644 ${S}/build/${PLATFORM}/release/bl31/bl31.elf ${DEPLOYDIR}/bl31-${MACHINE}.elf
-	install -m 0644 ${S}/build/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${MACHINE}.bin
-	mkimage -A arm64 -O linux -T kernel -C none -a 0xfffe5000 -e 0xfffe5000 -d ${S}/build/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/atf.ub
+	install -m 0644 ${OUTPUT_DIR}/bl31/bl31.elf ${DEPLOYDIR}/bl31-${MACHINE}.elf
+	install -m 0644 ${OUTPUT_DIR}/bl31.bin ${DEPLOYDIR}/bl31-${MACHINE}.bin
+
+	# Get the entry point address from the elf.
+	BL31_BASE_ADDR=$(${READELF} -h ${OUTPUT_DIR}/bl31/bl31.elf | egrep -m 1 -i "entry point.*?0x" | sed -r 's/.*?(0x.*?)/\1/g')
+	mkimage -A arm64 -O linux -T kernel -C none \
+		-a $BL31_BASE_ADDR -e $BL31_BASE_ADDR \
+		-d ${OUTPUT_DIR}/bl31.bin ${DEPLOYDIR}/atf.ub
 }
 addtask deploy before do_build after do_compile
-- 
2.9.3



More information about the meta-xilinx mailing list