Skip to content

Conversation

@pratlucas
Copy link
Contributor

This cherry-picks the following PRs into the 20.x release branch:

vhscampos and others added 11 commits February 28, 2025 11:09
Corstone prints out some informational text to stdout, but this text
conflicts with expectations from tests about the contents of stdout.

This patch filters out this text to send to stdout only what matters.
This patches fixes two bugs:
 - Properly propagate FVP's return code to the caller.
- Prepend `INST=` to the `--application` argument value. This is
required when the application's path contains equal signs (`=`). This
sign is interpreted as a special case inside FVP: its presence in the
path leads to ambiguity. One way to work around this is to do the
prepend. After that, any `=` sign that comes up in the path is treated
as part of the path.

This is the help message from Corstone's `--application`:
> -a, --application FILE application to load, format: -a [INST=]FILE
(use -a INST=FILE for a specific instance, use -a INST*=FILE to match
multiple instances using wildcards e.g. for SMP cores)
The get_fvps.sh script currently only downloads and installs the Linux64
versions of the FVPs, which does not necessarily match the host. AArch64
versions of the downloads are all available, so this patch adds a simple
check to download the appropriate ones.

This also updates the version of the Corstone-310 FVP to 11.27, and
modifies the script to infer the package names from the URL to reduce
duplication when modifying links.
The new version of Corstone-310 FVP model has a few differences compared
to v11.24 which require changes:

* The `ID_ISAR5.PACBTI` parameter has been deprecated and removed.
* The install now includes its own copy of pythonlib and fmtplib, the
paths to which need to be set as environment variables before starting
the model. `PYTHONHOME` should be set to `<install>/python`, and
`LD_LIBRARY_PATH` to `<install>/fmtplib:<install>/python/lib`.
* The boilerplate message printed to stdout has a different date, and
the Info message on stop is no longer present. The regex has been
updated to still match.
This patch disables the use of zlib when building the toolchain, as
using it creates an extra dependency on the `libzstd` shared library
which is not guaranteed to be present on all supported platforms.
This introduces a new shell script for running ATfE tests using the
`check-cxx` target. These tests are performed using a separate script
due to the considerably long run times needed for completion, as the
libcxx tests need to be executed for each of the underlying C library
variants.
If FVPs have been installed using the `get_fvps.sh` script, then this
patch allows them to be used in the `build.sh` script by setting the
`FVP_INSTALL_DIR` environment variable to the install location.
The `run_fvp.py` script currently only supports running the x86_64
versions of the models, due to the paths containing a directory that
only exists in the x86_64 package. This patch adjusts the paths
depending on the platform, which allows the script to run both x86_64
and AArch64 versions.
The `Additional unrolling in LTO` patch has been rebased against an
upstream change, while `Prefer MEMCPY LDM/STM inlining for v7-m` has had
the original commit message restored in order to provide context for the
change.

The filenames now also match the subject of the commit message, as they
have been regenerated using git format-patch.
This patch disables the use of zstd when building the toolchain, as
using it creates an extra dependency on the `libzstd` shared library
which is not guaranteed to be present on all supported platforms.
@pratlucas pratlucas merged commit 2e03bda into arm:release/arm-software/20.x Feb 28, 2025
@pratlucas pratlucas deleted the cherry-pick-build-scripts branch February 28, 2025 11:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants