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 <[email protected]>
---
 .../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
-- 
_______________________________________________
meta-xilinx mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-xilinx

Reply via email to