Age | Commit message (Collapse) | Author |
|
This patch extends passing FVP topology parameters with
FVP_CLUSTER_COUNT and FVP_MAX_CPUS_PER_CLUSTER build
options to match TF-A. The change adds more test options,
make FVP platform configuration more flexible and eliminates
test errors when the platform is configured with number
of CPUs less than default values in the makefile.
These build options are documented in 'Arm FVP Platform
Specific Build Options' section of 'build-options.rst'
document.
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Change-Id: I01c6437d468885755a5415804b3688e4c878170d
|
|
Command to build HTML-formatted pages from docs:
> make doc
Change-Id: I63938aaf3913126ab9036a6acaaf786a1199aef2
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
Change-Id: Iac2f428490066bf7629f45c781d145298ec50524
|
|
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I9287361d2a4c81954fae715fef6ba5cc57cc10e0
|
|
NOTE: AARCH32/AARCH64 macros are now deprecated in favor of __aarch64__.
All common C compilers pre-define the same macros to signal which
architecture the code is being compiled for: __arm__ for AArch32 (or
earlier versions) and __aarch64__ for AArch64. There's no need for TF-A
to define its own custom macros for this. In order to unify code with
the export headers (which use __aarch64__ to avoid another dependency),
let's deprecate the AARCH32 and AARCH64 macros and switch the code base
over to the pre-defined standard macro. (Since it is somewhat
unintuitive that __arm__ only means AArch32, let's standardize on only
using __aarch64__.)
NOTE: This change is based on below TFA commit
https://github.com/ARM-software/arm-trusted-firmware/commit/402b3cf8766fe2cb4ae462f7ee7761d08a1ba56c
Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com>
Change-Id: If2c3dbaeb01d4a9d8cfd95d906e5eaf4ae94417f
|
|
This patch adds ARMv8.3-PAuth support for FWU tests.
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Change-Id: I36a0a2a3870db51cda0a09bd8fd8004e2d01d2bc
|
|
Parallel builds would fail while generating the dependency file of the
first source file that included tests_list.h due to it missing.
In-order builds only worked, because a rule that specified tests_list.c
as a prerequisite happened to get executed first.
This patch introduces tests_list.h as an order-only dependency of all
rules that generate dependency files. This is necessary because we can't
know which files actually depend on it until the dependency files have
been generated.
This forces the autogenerated files to be generated before any other
files are compiled, but does not cause unrelated files to recompile if
they are modified.
Signed-off-by: Bence Szépkúti <bence.szepkuti@arm.com>
Change-Id: I21f0b98052a884a853935ea35a2898ff90245a49
|
|
Also updated the readme.rst file with changes in v2.2 release
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
Change-Id: I93e21473f4048867c29b6e0d9e854d07d3f71782
|
|
This patch provides the following features and makes
modifications listed below:
- `plat_init_apiakey()` function is replaced with `init_apkey()`
which returns 128-bit value and uses Generic timer physical counter
value to increase the randomness of the generated key.
The new function can be used for generation of all ARMv8.3-PAuth keys.
- Source file `pauth.c` moved from `plat/common/aarch64`
to `lib/extensions/pauth/aarch64` folder which contains PAuth specific
code.
- Individual APIAKey key generation for each CPU on every warm boot.
- Per-CPU storage of APIAKey added in `tftf_suspend_context` structure.
- APIAKey key is saved/restored in arch context on entry/exit from
suspended state.
- Added `pauth_init_enable()` function which generates, programs
and enables APIAKey in EL1/EL2.
- Changes in documentation related to ARMv8.3-PAuth support.
Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
Change-Id: I964b8f964bb541cbb0b2f772cb0b07aed055fe36
|
|
Test partition designed to have a virtual address space as small as
possible in order to test the extension ARMv8.4-TTST. This Secure
Partition doesn't have print capabilities. The only service it provides
is one that returns a magic number to verify that it has been loaded.
Change-Id: I431f6c65f2926d486836d12ddfefe05e83b0c47f
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
|
|
Add -mstrict-align flag, and -march minor version. These are needed to
prevent compilers generating unaligned accesses and enable
architectural features respectively.
Enable the SCTLR.A and SCTLR.SA alignment checks in all images.
TF test has several cases of code which enable the alignment checks.
Change-Id: I9a0413786caf94d0abf376aa1b4fb54fc7f2f355
Signed-off-by: Joel Hutton <Joel.Hutton@Arm.com>
|
|
Change-Id: I0b319f9724d540b46c5d8ded3cb37f686871ec95
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
* changes:
Add ARMv8.3 pointer authentication support
Remove pointer authentication test
|
|
The code has been taken from commit 99f4fd283b6f ("cactus: Use UART2
instead of UART0") and modified slightly to be integrated in the current
master.
There are three tests that are failing in the CI. They have been
disabled for the time being:
- mem_attr_changes_tests() in cactus_main() in the file
spm/cactus_mm/cactus_mm_main.c.
- Two tests in the file tftf/tests/tests-spm-mm.xml.
Change-Id: I6332cbff1cefeb82b9447fae1b613879e65186a1
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
|
|
ARMv8.3-PAuth adds functionality that supports address authentication of
the contents of a register before that register is used as the target of
an indirect branch, or as a load.
This feature is supported only in AArch64 state.
This feature is mandatory in ARMv8.3 implementations.
This patch adds the functionality needed for platforms to provide
authentication keys for the TF-A Test Framework, and a new option
(ENABLE_PAUTH) to enable pointer authentication in the framework itself.
This option is disabled by default.
Pointer authentication support has been added to FVP.
Change-Id: Id2d5c978deb68ae60107879f1c3d0b231cba9f42
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
|
|
Added includes and sources of libc to the makefiles.
Change-Id: I8e84db9634e0df7d51caa5c5858311672dd3a8d1
Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
|
|
Now that mp_printf() no longer prints the CPU MPID at the beginning of
each string, the SHELL_COLOR build flag has no effect.
Change-Id: Ia70c46d21bae9d14ff1177a5dae18f1006d5eed1
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
The targets cactus and ivy now also build the resource description blobs
used by Cactus and Ivy. This is done through a new shell script:
generate_dtb.sh
Example command line to build a package with Cactus and Ivy:
CROSS_COMPILE=aarch64-linux-gnu- make PLAT=fvp \
DEBUG=1 LOG_LEVEL=50 TESTS=spm \
tftf cactus ivy
trusted_firmware/tools/sptool/sptool \
-o sp_package.bin \
-i cactus.bin:cactus.dtb \
-i ivy.bin:ivy.dtb
Also, add a disclaimer to explain that the current implementation of SPM
is a prototype that is going to undergo a lot of rework.
Change-Id: Iebc3ac28d20019b59f07f70f96fefc030f1a79ce
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
|
|
In order to test multiple partitions it is needed to have at least two
different partitions with different services. This way it isn't possible
to accidentally call partition A with a service of partition B and have
it work correctly.
Cactus is meant to be the main test Secure Partition. It is the one
meant to have most of the tests that a Secure Partition has to do. Ivy
is meant to be more minimalistic. In the future, Cactus may be modified
to be a S-EL1 partition while Ivy will remain as a S-EL0 partition.
Change-Id: I29d09b9f9400b58568f9b90344a4034332a6e6e1
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
|
|
Sample output:
> make help_tests
Available sets of tests:
- sdei
- uncontainable
- extensive
- arm-state-switch
- manual
- single-fault
- tsp
- psci-extensive
- standard
- cpu-extensions
- boot-req
- psci
- tftf-validation
- spm
- el3-power-state
- performance
- template
- fwu
- runtime-instrumentation
Change-Id: I8ab5ae0cadfe950cb690d0943148b15e2448f5c8
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
|
|
This is the first public version of the tests for the Trusted
Firmware-A project. Please see the documentation provided in the
source tree for more details.
Change-Id: I6f3452046a1351ac94a71b3525c30a4ca8db7867
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Co-authored-by: amobal01 <amol.balasokamble@arm.com>
Co-authored-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Co-authored-by: Asha R <asha.r@arm.com>
Co-authored-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
Co-authored-by: David Cunado <david.cunado@arm.com>
Co-authored-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
Co-authored-by: Douglas Raillard <douglas.raillard@arm.com>
Co-authored-by: dp-arm <dimitris.papastamos@arm.com>
Co-authored-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
Co-authored-by: Jonathan Wright <jonathan.wright@arm.com>
Co-authored-by: Kévin Petit <kevin.petit@arm.com>
Co-authored-by: Roberto Vargas <roberto.vargas@arm.com>
Co-authored-by: Sathees Balya <sathees.balya@arm.com>
Co-authored-by: Shawon Roy <Shawon.Roy@arm.com>
Co-authored-by: Soby Mathew <soby.mathew@arm.com>
Co-authored-by: Thomas Abraham <thomas.abraham@arm.com>
Co-authored-by: Vikram Kanigiri <vikram.kanigiri@arm.com>
Co-authored-by: Yatharth Kochar <yatharth.kochar@arm.com>
|