Skip to content

Commit b92c5ab

Browse files
ithinuelstephanosio
authored andcommitted
ci: update FVPs’s versions, add Corstone 315 and 320 & enable aarch64 FVPs
This change updates the URL to fetch FPS from as well as installing FVPs for Corstone 315 and 320. Finally, it now does so for both x86_64 and aarch64 platforms. Signed-off-by: Wilfried Chauveau <[email protected]>
1 parent c847759 commit b92c5ab

File tree

1 file changed

+37
-19
lines changed

1 file changed

+37
-19
lines changed

Dockerfile.ci

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,18 @@ ARG SPARSE_VERSION=9212270048c3bd23f56c20a83d4f89b870b2b26e
2121
ENV SPARSE_VERSION=$SPARSE_VERSION
2222
ARG PROTOC_VERSION=21.7
2323
ENV PROTOC_VERSION=$PROTOC_VERSION
24-
ARG FVP_BASE_REVC_VERSION=11.24_11
24+
ARG FVP_BASE_REVC_VERSION=11.27_19
2525
ENV FVP_BASE_REVC_VERSION=$FVP_BASE_REVC_VERSION
26-
ARG FVP_BASE_AEMV8R_VERSION=11.24_11
26+
ARG FVP_BASE_AEMV8R_VERSION=11.27_19
2727
ENV FVP_BASE_AEMV8R_VERSION=$FVP_BASE_AEMV8R_VERSION
28-
ARG FVP_CORSTONE300_VERSION=11.24_13
28+
ARG FVP_CORSTONE300_VERSION=11.27_42
2929
ENV FVP_CORSTONE300_VERSION=$FVP_CORSTONE300_VERSION
30-
ARG FVP_CORSTONE310_VERSION=11.24_13
30+
ARG FVP_CORSTONE310_VERSION=11.27_42
3131
ENV FVP_CORSTONE310_VERSION=$FVP_CORSTONE310_VERSION
32+
ARG FVP_CORSTONE315_VERSION=11.27_42
33+
ENV FVP_CORSTONE315_VERSION=$FVP_CORSTONE315_VERSION
34+
ARG FVP_CORSTONE320_VERSION=11.27_25
35+
ENV FVP_CORSTONE320_VERSION=$FVP_CORSTONE320_VERSION
3236
ARG WGET_ARGS="-q --show-progress --progress=bar:force:noscroll"
3337

3438
# Install Kitware ninja
@@ -135,23 +139,37 @@ RUN mkdir -p /opt/toolchains && \
135139
# Install FVP
136140
#
137141
# Ecosystem FVP License permits redistribution (refer to the relevant license available in the container).
138-
RUN if [ "${HOSTTYPE}" = "x86_64" ]; then \
142+
RUN set -o pipefail && \
139143
mkdir -p /opt/fvps && \
140144
cd /opt/fvps && \
141-
wget ${WGET_ARGS} -O- https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_RevC-2xAEMvA_${FVP_BASE_REVC_VERSION}_Linux64.tgz | tar xz && \
142-
wget ${WGET_ARGS} -O- https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_AEMv8R_${FVP_BASE_AEMV8R_VERSION}_Linux64.tgz | tar xz && \
143-
wget ${WGET_ARGS} -O- https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/Corstone-300/FVP_Corstone_SSE-300_${FVP_CORSTONE300_VERSION}_Linux64.tgz | tar xz && \
144-
wget ${WGET_ARGS} -O- https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/Corstone-310/FVP_Corstone_SSE-310_${FVP_CORSTONE310_VERSION}_Linux64.tgz | tar xz && \
145-
./FVP_Corstone_SSE-300.sh --no-interactive --i-agree-to-the-contained-eula && \
146-
./FVP_Corstone_SSE-310.sh --no-interactive --i-agree-to-the-contained-eula && \
147-
ln -s /opt/fvps/Base_RevC_AEMvA_pkg/models/Linux64_GCC-9.3/FVP_Base_RevC-2xAEMvA /usr/local/bin && \
148-
ln -s /opt/fvps/AEMv8R_base_pkg/models/Linux64_GCC-9.3/FVP_BaseR_AEMv8R /usr/local/bin && \
149-
ln -s /usr/local/FVP_Corstone_SSE-300/models/Linux64_GCC-9.3/FVP_Corstone_SSE-300_Ethos-U55 /usr/local/bin && \
150-
ln -s /usr/local/FVP_Corstone_SSE-300/models/Linux64_GCC-9.3/FVP_Corstone_SSE-300_Ethos-U65 /usr/local/bin && \
151-
ln -s /usr/local/FVP_Corstone_SSE-310/models/Linux64_GCC-9.3/FVP_Corstone_SSE-310 /usr/local/bin && \
152-
ln -s /usr/local/FVP_Corstone_SSE-310/models/Linux64_GCC-9.3/FVP_Corstone_SSE-310_Ethos-U65 /usr/local/bin && \
153-
rm FVP_Corstone_SSE-300.sh FVP_Corstone_SSE-310.sh \
154-
; fi
145+
if [ "${HOSTTYPE}" = "x86_64" ]; then SUFFIX=""; else SUFFIX="_armv8l"; fi && \
146+
\
147+
declare -A FVP_INSTALLABLE=( \
148+
["300"]="${FVP_CORSTONE300_VERSION}" \
149+
["310"]="${FVP_CORSTONE310_VERSION}" \
150+
["315"]="${FVP_CORSTONE315_VERSION}" \
151+
["320"]="${FVP_CORSTONE320_VERSION}" \
152+
) ; \
153+
for corstone in ${!FVP_INSTALLABLE[@]} ; \
154+
do version_build="${FVP_INSTALLABLE[$corstone]}" \
155+
&& echo "Downloading Corstone-${corstone} ${version_build}" \
156+
&& wget ${WGET_ARGS} -O- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Corstone-IoT/Corstone-${corstone}/FVP_Corstone_SSE-${corstone}_${version_build}_Linux64${SUFFIX}.tgz | tar xz \
157+
&& ./FVP_Corstone_SSE-${corstone}.sh --no-interactive --i-agree-to-the-contained-eula -d /opt/fvps/Corstone-${corstone} \
158+
&& rm FVP_Corstone_SSE-${corstone}.sh \
159+
&& ln -s /opt/fvps/Corstone-${corstone}/models/*/FVP_* /usr/local/bin ; \
160+
done && \
161+
\
162+
declare -A FVP_EXTRACTABLE=( \
163+
["RevC-2xAEMvA"]="${FVP_BASE_REVC_VERSION}" \
164+
["AEMv8R"]="${FVP_BASE_AEMV8R_VERSION}" \
165+
) && \
166+
for base in ${!FVP_EXTRACTABLE[@]} ; \
167+
do version_build="${FVP_EXTRACTABLE[$base]}" \
168+
&& echo "Downloading Base-${base} ${FVP_EXTRACTABLE[$base]}" \
169+
&& IFS="_" read version build <<< "${version_build}" \
170+
&& wget ${WGET_ARGS} -O- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-${version}/FVP_Base_${base}_${version_build}_Linux64${SUFFIX}.tgz | tar xz \
171+
; done && \
172+
ln -s /opt/fvps/*_pkg/models/*/FVP_* /usr/local/bin
155173

156174
# Clean up stale packages
157175
RUN apt-get clean -y && \

0 commit comments

Comments
 (0)