From e53245cfea92549b90e07a3b6c67326e2ed752dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Desbiens?= Date: Tue, 13 Oct 2026 10:38:42 -0400 Subject: [PATCH] Added the R52 module and S32Z280 examples to the FVP workflow The FVP module manager example and the S32Z280 kernel and module examples are each behind a CMake option that defaults to OFF, and no CI lane turned any of them on. The module isolation tests were therefore never linked, and nothing built the S32Z280 images. Both r52_fvp configurations now enable all four example options. The FVP module images join the CTest suite whenever the model is available; the S32Z280 images are built and never run, since CTest registers only FVP images. The header no longer describes these examples as pending. On the Armv8-R AEM FVP 11.32 with GCC 14.3, the default configuration builds 14 images and passes 8/8, and the feature configuration builds 20 and passes 11/11, with zero warnings. CI still builds without executing until FVP_AEMV8R_URL is set. Assisted-by: Claude Code (Opus 5.5) --- .github/workflows/r52_fvp.yml | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/.github/workflows/r52_fvp.yml b/.github/workflows/r52_fvp.yml index 60861d49b..6332c414c 100644 --- a/.github/workflows/r52_fvp.yml +++ b/.github/workflows/r52_fvp.yml @@ -21,19 +21,17 @@ name: r52_fvp # What it covers: # # - the default configuration -- the images gcc_check's CMake stage builds, -# but run rather than merely linked; -# - the feature configuration -- VFP with the hard float ABI, FIQ, IRQ -# nesting and FIQ nesting. Those four options gate whole assembly blocks -# (the VMRS/VSTMDB/VLDMIA sequences, the FIQ context paths, the nesting -# start/end pairs) that the default configuration never assembles, let -# alone runs. +# but run rather than merely linked, plus the FVP module manager example, +# whose two images are the module isolation tests; +# - the feature configuration -- the same images with VFP and the hard float +# ABI, FIQ, IRQ nesting and FIQ nesting. Those four options gate whole +# assembly blocks (the VMRS/VSTMDB/VLDMIA sequences, the FIQ context paths, +# the nesting start/end pairs) that the default configuration never +# assembles, let alone runs. # -# What it does not cover: the module manager port and the S32Z280 targets are -# not on dev yet -- they are PR #639. When that merges, add their lanes here -# rather than starting a second workflow; the matrix already has the shape. -# -# The S32Z280 targets will be build-only in CI regardless. They need silicon, -# and a hosted runner has none. +# Both configurations also build the S32Z280 kernel and module examples. Those +# need silicon, which a hosted runner does not have, so they are built and +# never run: CTest registers only the FVP images. on: # push as well as pull_request, for the reason gcc_check.yml states at @@ -321,11 +319,19 @@ jobs: fi } + # Every example option defaults to OFF, so each one a configuration + # leaves out is an example that no check builds. run_configuration default \ - -DTX_R52_BUILD_FVP_EXAMPLE=ON + -DTX_R52_BUILD_FVP_EXAMPLE=ON \ + -DTX_R52_BUILD_FVP_MODULE_EXAMPLE=ON \ + -DTX_R52_BUILD_S32Z280_EXAMPLE=ON \ + -DTX_R52_BUILD_S32Z280_MODULE_EXAMPLE=ON run_configuration feature \ -DTX_R52_BUILD_FVP_EXAMPLE=ON \ + -DTX_R52_BUILD_FVP_MODULE_EXAMPLE=ON \ + -DTX_R52_BUILD_S32Z280_EXAMPLE=ON \ + -DTX_R52_BUILD_S32Z280_MODULE_EXAMPLE=ON \ -DTX_R52_ENABLE_VFP=ON \ -DTX_R52_FLOAT_ABI=hard \ -DTX_R52_ENABLE_FIQ=ON \