Changes from v1:
* Added commit message to patches * Moved 2nd patch from platforms.config to edk2-platforms.config * Added 3rd patch to allow use of UART5 in OP-TEE for hikey960
--- v1 cover letter: Previously, we were using a 'headless' version of optee_os binary for hikey and hikey960. With BL32_EXTRA1 and BL32_EXTRA2, we now enable optee_os header parsing to allow dynamic runtime support of either a 64- or 32-bit optee_os build, and also the pager feature.
Victor Chong (3): atf, opteed: Support BL32_EXTRA1 and BL32_EXTRA2 edk2-platforms.config: hikey*: Set TOS_BIN_EXTRA{1,2} edk2-platforms.config: hikey960: Add UART5 option
atf-build.sh | 14 ++++++++++++-- edk2-platforms.config | 12 ++++++++++-- opteed-build.sh | 4 ++++ 3 files changed, 26 insertions(+), 4 deletions(-)
-- 2.15.1
Previously, we were using a 'headless' version of optee_os binary for hikey and hikey960. With BL32_EXTRA1 and BL32_EXTRA2, we now enable optee_os header parsing to allow dynamic runtime support of either a 64- or 32-bit optee_os builds, and also the pager feature.
Signed-off-by: Victor Chong victor.chong@linaro.org --- atf-build.sh | 14 ++++++++++++-- opteed-build.sh | 4 ++++ 2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/atf-build.sh b/atf-build.sh index 5e03569..fb80ad0 100755 --- a/atf-build.sh +++ b/atf-build.sh @@ -67,7 +67,7 @@ function build_platform echo "PLATFORM_BUILDFLAGS=$PLATFORM_BUILDFLAGS" fi
- unset BL30 BL31 BL32 BL33 + unset BL30 BL31 BL32 BL32_EXTRA1 BL32_EXTRA2 BL33 BL30="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o scp_bin`" if [ $ATF_BUILDVER -gt 1 ]; then unset SCP_BL2 @@ -100,9 +100,17 @@ function build_platform SPD="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o atf_spd`"
TOS_BIN="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin`" + TOS_BIN_EXTRA1="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin_extra1`" + TOS_BIN_EXTRA2="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin_extra2`" if [ X"$TOS_BIN" != X"" ]; then BL32=$WORKSPACE/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/$TOS_BIN fi + if [ X"$TOS_BIN_EXTRA1" != X"" ]; then + BL32_EXTRA1=$WORKSPACE/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/$TOS_BIN_EXTRA1 + fi + if [ X"$TOS_BIN_EXTRA2" != X"" ]; then + BL32_EXTRA2=$WORKSPACE/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/$TOS_BIN_EXTRA2 + fi
if [ X"$SPD" != X"" ] && [ X"$BL32" != X"" ]; then # @@ -149,7 +157,7 @@ function build_platform ;; esac
- export BL30 BL31 BL32 BL33 + export BL30 BL31 BL32 BL32_EXTRA1 BL32_EXTRA2 BL33
echo "BL30=$BL30" if [ $ATF_BUILDVER -gt 1 ] && [ X"$BL30" != X"" ]; then @@ -158,6 +166,8 @@ function build_platform fi echo "BL31=$BL31" echo "BL32=$BL32" + echo "BL32_EXTRA1=$BL32_EXTRA1" + echo "BL32_EXTRA2=$BL32_EXTRA2" echo "BL33=$BL33" echo "$SPD_OPTION" echo "BUILD_TYPE=$BUILD_TYPE" diff --git a/opteed-build.sh b/opteed-build.sh index 4de48d3..008e033 100755 --- a/opteed-build.sh +++ b/opteed-build.sh @@ -103,10 +103,14 @@ function build_platform # Copy resulting images to UEFI image dir # TOS_BIN="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin`" + TOS_BIN_EXTRA1="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin_extra1`" + TOS_BIN_EXTRA2="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin_extra2`" if [ $VERBOSE -eq 1 ]; then echo "Copying '$TOS_BIN' to '$EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/'" fi cp -a out/arm-plat-"$TOS_PLATFORM"/core/"$TOS_BIN" "$EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/" + cp -a out/arm-plat-"$TOS_PLATFORM"/core/"$TOS_BIN_EXTRA1" "$EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/" + cp -a out/arm-plat-"$TOS_PLATFORM"/core/"$TOS_BIN_EXTRA2" "$EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/" else return 1 fi -- 2.15.1
On Fri, Mar 02, 2018 at 03:49:44AM +0000, Victor Chong wrote:
Previously, we were using a 'headless' version of optee_os binary for hikey and hikey960. With BL32_EXTRA1 and BL32_EXTRA2, we now enable optee_os header parsing to allow dynamic runtime support of either a 64- or 32-bit optee_os builds, and also the pager feature.
Signed-off-by: Victor Chong victor.chong@linaro.org
atf-build.sh | 14 ++++++++++++-- opteed-build.sh | 4 ++++ 2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/atf-build.sh b/atf-build.sh index 5e03569..fb80ad0 100755 --- a/atf-build.sh +++ b/atf-build.sh @@ -67,7 +67,7 @@ function build_platform echo "PLATFORM_BUILDFLAGS=$PLATFORM_BUILDFLAGS" fi
- unset BL30 BL31 BL32 BL33
- unset BL30 BL31 BL32 BL32_EXTRA1 BL32_EXTRA2 BL33 BL30="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o scp_bin`" if [ $ATF_BUILDVER -gt 1 ]; then unset SCP_BL2
@@ -100,9 +100,17 @@ function build_platform SPD="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o atf_spd`"
TOS_BIN="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin`"
TOS_BIN_EXTRA1="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin_extra1`"
TOS_BIN_EXTRA2="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin_extra2`"
if [ X"$TOS_BIN" != X"" ]; then BL32=$WORKSPACE/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/$TOS_BIN fi
if [ X"$TOS_BIN_EXTRA1" != X"" ]; then
BL32_EXTRA1=$WORKSPACE/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/$TOS_BIN_EXTRA1
fi
if [ X"$TOS_BIN_EXTRA2" != X"" ]; then
BL32_EXTRA2=$WORKSPACE/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/$TOS_BIN_EXTRA2
fi
if [ X"$SPD" != X"" ] && [ X"$BL32" != X"" ]; then #
@@ -149,7 +157,7 @@ function build_platform ;; esac
- export BL30 BL31 BL32 BL33
export BL30 BL31 BL32 BL32_EXTRA1 BL32_EXTRA2 BL33
echo "BL30=$BL30" if [ $ATF_BUILDVER -gt 1 ] && [ X"$BL30" != X"" ]; then
@@ -158,6 +166,8 @@ function build_platform fi echo "BL31=$BL31" echo "BL32=$BL32"
- echo "BL32_EXTRA1=$BL32_EXTRA1"
- echo "BL32_EXTRA2=$BL32_EXTRA2" echo "BL33=$BL33" echo "$SPD_OPTION" echo "BUILD_TYPE=$BUILD_TYPE"
diff --git a/opteed-build.sh b/opteed-build.sh index 4de48d3..008e033 100755 --- a/opteed-build.sh +++ b/opteed-build.sh @@ -103,10 +103,14 @@ function build_platform # Copy resulting images to UEFI image dir # TOS_BIN="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin`"
TOS_BIN_EXTRA1="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin_extra1`"
if [ $VERBOSE -eq 1 ]; then echo "Copying '$TOS_BIN' to '$EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/'"TOS_BIN_EXTRA2="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $1 get -o tos_bin_extra2`"
So, this debug message should really be updated if we're copying more files. I would suggest doing this in a similar way as we ended up doing in atf-build.sh: https://git.linaro.org/uefi/uefi-tools.git/tree/atf-build.sh#n184
I.e.
if [ $VERBOSE -eq 1 ]; then echo "Copying TOS binaries to '$EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/'" CPFLAGS="-v" else CPFLAGS="" fi
and then cp -a $CPFLAGS ...
fi cp -a out/arm-plat-"$TOS_PLATFORM"/core/"$TOS_BIN" "$EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/"
cp -a out/arm-plat-"$TOS_PLATFORM"/core/"$TOS_BIN_EXTRA1" "$EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/"
cp -a out/arm-plat-"$TOS_PLATFORM"/core/"$TOS_BIN_EXTRA2" "$EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/"
Will this give error messages if not building with TOS_BIN_EXTRA*?
/ Leif
else return 1 fi -- 2.15.1
Previously, we were using a 'headless' version of optee_os binary for hikey and hikey960. With BL32_EXTRA1 and BL32_EXTRA2, we now enable optee_os header parsing to allow dynamic runtime support of either a 64- or 32-bit optee_os builds, and also the pager feature.
Signed-off-by: Victor Chong victor.chong@linaro.org --- edk2-platforms.config | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/edk2-platforms.config b/edk2-platforms.config index 15c68c8..8d63ed1 100644 --- a/edk2-platforms.config +++ b/edk2-platforms.config @@ -39,6 +39,8 @@ # different from UEFI platform name. # - SCP_BIN SCP image to pass to ARM Trusted Firmware. # - TOS_BIN Trusted OS image to pass to ARM Trusted Firmware. +# - TOS_BIN_EXTRA1 First extra Trusted OS image +# - TOS_BIN_EXTRA2 Second extra Trusted OS image # The path is relative to # $EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/. # To actually build the Trusted OS, you must also set @@ -111,7 +113,9 @@ UEFI_BIN=BL33_AP_UEFI.fd UEFI_IMAGE_DIR=HiKey SCP_BIN=Platform/Hisilicon/HiKey/mcuimage.bin ATF_SPD=opteed -TOS_BIN=tee-pager.bin +TOS_BIN=tee-header_v2.bin +TOS_BIN_EXTRA1=tee-pager_v2.bin +TOS_BIN_EXTRA2=tee-pageable_v2.bin TOS_PLATFORM_FLAVOR=hikey BUILD_TOS=yes # Uncomment this to use UART0 as the EDK2 console @@ -129,7 +133,9 @@ UEFI_BIN=BL33_AP_UEFI.fd UEFI_IMAGE_DIR=HiKey960 BUILD_ATF=yes ATF_SPD=opteed -TOS_BIN=tee-pager.bin +TOS_BIN=tee-header_v2.bin +TOS_BIN_EXTRA1=tee-pager_v2.bin +TOS_BIN_EXTRA2=tee-pageable_v2.bin TOS_PLATFORM=hikey TOS_PLATFORM_FLAVOR=hikey960 BUILD_TOS=yes -- 2.15.1
Add comment to allow use of UART5 in OP-TEE
Signed-off-by: Victor Chong victor.chong@linaro.org --- edk2-platforms.config | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/edk2-platforms.config b/edk2-platforms.config index 8d63ed1..f4578e8 100644 --- a/edk2-platforms.config +++ b/edk2-platforms.config @@ -142,6 +142,8 @@ BUILD_TOS=yes SCP_BIN=Platform/Hisilicon/HiKey960/lpm3.img # Uncomment this to use UART5 as the EDK2 console for v1 hardware #BUILDFLAGS=-DSERIAL_BASE=0xFDF05000 +# Uncomment this to use UART5 as the OP-TEE Trusted OS console +#TOS_BUILDFLAGS=CFG_CONSOLE_UART=5
[d02] LONGNAME=Hisilicon D02 -- 2.15.1
Ping Leif's possibly overactive spam filter!
On Fri, Mar 2, 2018 at 12:49 PM, Victor Chong victor.chong@linaro.org wrote:
Changes from v1:
- Added commit message to patches
- Moved 2nd patch from platforms.config to edk2-platforms.config
- Added 3rd patch to allow use of UART5 in OP-TEE for hikey960
v1 cover letter: Previously, we were using a 'headless' version of optee_os binary for hikey and hikey960. With BL32_EXTRA1 and BL32_EXTRA2, we now enable optee_os header parsing to allow dynamic runtime support of either a 64- or 32-bit optee_os build, and also the pager feature.
Victor Chong (3): atf, opteed: Support BL32_EXTRA1 and BL32_EXTRA2 edk2-platforms.config: hikey*: Set TOS_BIN_EXTRA{1,2} edk2-platforms.config: hikey960: Add UART5 option
atf-build.sh | 14 ++++++++++++-- edk2-platforms.config | 12 ++++++++++-- opteed-build.sh | 4 ++++ 3 files changed, 26 insertions(+), 4 deletions(-)
-- 2.15.1