@@ -21,14 +21,18 @@ ARG SPARSE_VERSION=9212270048c3bd23f56c20a83d4f89b870b2b26e
21
21
ENV SPARSE_VERSION=$SPARSE_VERSION
22
22
ARG PROTOC_VERSION=21.7
23
23
ENV PROTOC_VERSION=$PROTOC_VERSION
24
- ARG FVP_BASE_REVC_VERSION=11.24_11
24
+ ARG FVP_BASE_REVC_VERSION=11.27_19
25
25
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
27
27
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
29
29
ENV FVP_CORSTONE300_VERSION=$FVP_CORSTONE300_VERSION
30
- ARG FVP_CORSTONE310_VERSION=11.24_13
30
+ ARG FVP_CORSTONE310_VERSION=11.27_42
31
31
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
32
36
ARG WGET_ARGS="-q --show-progress --progress=bar:force:noscroll"
33
37
34
38
# Install Kitware ninja
@@ -135,23 +139,37 @@ RUN mkdir -p /opt/toolchains && \
135
139
# Install FVP
136
140
#
137
141
# 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 && \
139
143
mkdir -p /opt/fvps && \
140
144
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
155
173
156
174
# Clean up stale packages
157
175
RUN apt-get clean -y && \
0 commit comments