From: Tom Rini <trini@konsulko.com> This adds the vexpress_fvp and vexpress_fvp_bloblist platforms to the list of platforms we test via emulator in CI. In order to do this we need to first have our container runtime have TF-A builds for the vexpress_fvp platform, both with and without transfer list support as well as installing "telnet" so that we can access console. In the CI files we check for the existence of /opt/tf-a/${TEST_PY_BD} and if found, copy bl1.bin and fip.bin to /tmp and set the variables so that we can later run FVP to run. Note that we currently disable the hostfs (semihosting) tests as they trigger a bug in FVP. This has been reported upstream, and can be enabled when fixed. Reviewed-by: Harrison Mutai <harrison.mutai@arm.com> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Tom Rini <trini@konsulko.com> (cherry picked from commit d75998b476de439a05b2f7ec95d426410bcaae18) Signed-off-by: Simon Glass <simon.glass@canonical.com> --- tools/docker/Dockerfile | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 0f0c290c232..b804df03e16 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -87,6 +87,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ help2man \ iasl \ imagemagick \ + inetutils-telnet \ iputils-ping \ libconfuse-dev \ libgit2-dev \ @@ -234,11 +235,19 @@ RUN git clone https://gitlab.com/qemu-project/qemu.git /tmp/qemu && \ # Build fiptool RUN git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git /tmp/tf-a && \ cd /tmp/tf-a/ && \ - git checkout v2.10.0 && \ - cd tools/fiptool && \ - make -j$(nproc) && \ - mkdir -p /usr/local/bin && \ - cp fiptool /usr/local/bin && \ + git checkout v2.12.0 && \ + make CROSS_COMPILE=/opt/gcc-${TCVER}-nolibc/aarch64-linux/bin/aarch64-linux- \ + PLAT=fvp BL33=/dev/null -j$(nproc) all fip && \ + mkdir -p /usr/local/bin /opt/tf-a/vexpress_fvp && \ + cp tools/fiptool/fiptool /usr/local/bin && \ + cp build/fvp/release/fip.bin build/fvp/release/bl1.bin \ + /opt/tf-a/vexpress_fvp/ && \ + rm -rf build/fvp && \ + make CROSS_COMPILE=/opt/gcc-${TCVER}-nolibc/aarch64-linux/bin/aarch64-linux- \ + PLAT=fvp BL33=/dev/null TRANSFER_LIST=1 -j$(nproc) all fip && \ + mkdir -p /opt/tf-a/vexpress_fvp_bloblist && \ + cp build/fvp/release/fip.bin build/fvp/release/bl1.bin \ + /opt/tf-a/vexpress_fvp_bloblist/ && \ rm -rf /tmp/tf-a # Download the Arm Architecture FVP platform. This file is double compressed. -- 2.43.0