Commit graph

2199 commits

Author SHA1 Message Date
Olivier Deprez
6a6fdd16d0 Merge "docs: fix rendering for code blocks in SPM" into integration 2023-05-23 16:01:02 +02:00
Manish Pandey
ce0f98e80f Merge "docs(maintainers): add Yann Gautier in TF-A maintainers list" into integration 2023-05-23 15:40:41 +02:00
Joanna Farley
d3e71ead6e Merge "docs(changelog): changelog for v2.9 release" into integration 2023-05-22 16:12:59 +02:00
Sandrine Bailleux
abcdbcfcd1 docs(maintainers): add Yann Gautier in TF-A maintainers list
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: I8d3966e230609f9da4c313201ed0cb0f46f27200
2023-05-22 14:45:00 +02:00
Madhukar Pappireddy
d386d53d5c Merge "docs: update feature support overview" into integration 2023-05-22 14:43:02 +02:00
Manish Pandey
9494de0798 docs: update feature support overview
The feature support overview is meant to list all the major features
present in TF-A. It should be precise, non-exhaustive and up-to-date.

Updated the document with new features and removed few unnecessary
details.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I28b378f405a6b9d8f86e7b44e435c33625e3d260
2023-05-22 12:03:22 +01:00
Manish Pandey
be3a456315 Merge "docs: update usage of ARM_ARCH_MAJOR/MINOR" into integration 2023-05-22 11:10:47 +02:00
Manish Pandey
00be88ec1a Merge "docs(n1sdp): add N1SDP PSCI instrumentation data" into integration 2023-05-22 10:47:50 +02:00
Manish Pandey
57da5c1f55 Merge "docs: add Juno runtime instrumentation data" into integration 2023-05-22 10:40:37 +02:00
Juan Pablo Conde
b78ad00e58 docs(changelog): changelog for v2.9 release
Change-Id: Ic8cd82c5424af422feedefdc001d291001817a8b
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
2023-05-19 13:49:08 -05:00
Harrison Mutai
6338876b6d docs(n1sdp): add N1SDP PSCI instrumentation data
Change-Id: Id22715cb1d36edf6cb8719f3a0415993f067e7c9
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2023-05-19 17:29:23 +01:00
Manish Pandey
be6484cbb7 docs: update usage of ARM_ARCH_MAJOR/MINOR
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I433488ecbaf7773a9e062223599fb0d3bc892f94
2023-05-19 10:16:01 +01:00
J-Alves
433f6d2b41 docs(spm): memory region nodes definition
Update the documentation related with memory region nodes
of SP's FF-A manifest, to relate to changes from patches [1].

[1] https://review.trustedfirmware.org/q/topic:%22ja%252Fmem_region_fix%22+(status:open%20OR%20status:merged)

Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: I16595ec581b0ad9d2c20fca8dab64b6fd9ad001a
2023-05-19 09:37:16 +01:00
Harrison Mutai
a3077ae1e9 docs: add Juno runtime instrumentation data
Add results from running the TFTF test suite Runtime Instrumentation on Juno.

Change-Id: I4c5b64e1a80b5b88e42835f0700294a02edc8032
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2023-05-18 09:32:14 +01:00
Bipin Ravi
08d7a10157 Merge "docs(prerequisites): update software and libraries prerequisites" into integration 2023-05-16 22:22:08 +02:00
Govindraj Raja
0d7e702e4f docs(prerequisites): update software and libraries prerequisites
Update to use the following software:

- mbed TLS == 3.4.0
- (DTC) >= 1.4.7
- Ubuntu 22.04 for builds.

Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
Change-Id: I384aab4dfee9cae9453eebf4091abe82ef9ccfaa
2023-05-16 17:36:18 +01:00
J-Alves
ff8f1c5fe1 docs(spm): threat model for memory sharing functionality
Update the SPM threat model with information about FF-A v1.1
memory sharing functionality.

Change-Id: I65ea0d53aba8ac2f8432539968ceaab6be109ac8
Signed-off-by: J-Alves <joao.alves@arm.com>
2023-05-12 09:32:21 +01:00
J-Alves
cc63ff9762 docs(spm): add memory sharing documentation
Add documentation that explains implementation specific
relevant information from the update done to FF-A v1.1
memory sharing in Hafnium.

Change-Id: Ifc3c6b86c0545d53331207b017b990427ee84f2d
Signed-off-by: J-Alves <joao.alves@arm.com>
2023-05-12 09:32:21 +01:00
Harrison Mutai
b1af2676f2 docs(psci): expound runtime instrumentation docs
Change-Id: I3c30b44d4196c30fd07373282150e543959fce1a
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2023-05-11 12:11:43 +01:00
Joanna Farley
a18e975f00 Merge "docs: update release and code freeze dates" into integration 2023-05-10 15:16:40 +02:00
Manish Pandey
269f3daefb Merge changes from topic "mp/feat_ras" into integration
* changes:
  refactor(cpufeat): enable FEAT_RAS for FEAT_STATE_CHECKED
  refactor(ras): replace RAS_EXTENSION with FEAT_RAS
2023-05-09 21:48:45 +02:00
Madhukar Pappireddy
fdf9d768ea Merge changes from topic "srm/Errata_ABI_El3" into integration
* changes:
  docs(errata_abi): document the errata abi changes
  feat(fvp): enable errata management interface
  fix(cpus): workaround platforms non-arm interconnect
  refactor(errata_abi): factor in non-arm interconnect
  feat(errata_abi): errata management firmware interface
2023-05-09 21:15:54 +02:00
Manish V Badarkhe
c214ced421 Merge changes from topic "bk/context_refactor" into integration
* changes:
  fix(gicv3): restore scr_el3 after changing it
  refactor(cm): make SVE and SME build dependencies logical
2023-05-09 18:15:01 +02:00
Madhukar Pappireddy
315f4f8a84 Merge "docs: update TZC secured DRAM map for FVP and Juno" into integration 2023-05-09 17:14:41 +02:00
Manish Pandey
a26ecc1718 Merge changes I06b35f11,If80573d6 into integration
* changes:
  docs: remove plat_convert_pk() interface from release doc
  chore(io): remove io_dummy driver
2023-05-09 16:51:38 +02:00
Manish Pandey
9202d51990 refactor(ras): replace RAS_EXTENSION with FEAT_RAS
The current usage of RAS_EXTENSION in TF-A codebase is to cater for two
things in TF-A :
1. Pull in necessary framework and platform hooks for Firmware first
   handling(FFH) of RAS errors.
2. Manage the FEAT_RAS extension when switching the worlds.

FFH means that all the EAs from NS are trapped in EL3 first and signaled
to NS world later after the first handling is done in firmware. There is
an alternate way of handling RAS errors viz Kernel First handling(KFH).
Tying FEAT_RAS to RAS_EXTENSION build flag was not correct as the
feature is needed for proper handling KFH in as well.

This patch breaks down the RAS_EXTENSION flag into a flag to denote the
CPU architecture `ENABLE_FEAT_RAS` which is used in context management
during world switch and another flag `RAS_FFH_SUPPORT` to pull in
required framework and platform hooks for FFH.

Proper support for KFH will be added in future patches.

BREAKING CHANGE: The previous RAS_EXTENSION is now deprecated. The
equivalent functionality can be achieved by the following
2 options:
 - ENABLE_FEAT_RAS
 - RAS_FFH_SUPPORT

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I1abb9ab6622b8f1b15712b12f17612804d48a6ec
2023-05-09 13:19:22 +01:00
Jayanth Dodderi Chidanand
9e2e777a2b docs(build): update GCC to 12.2.Rel1 version
Updating toolchain to the latest production release version
12.2.Rel1 publicly available on https://developer.arm.com/

We build TF-A in CI using:
AArch32 bare-metal target (arm-none-eabi)
AArch64 ELF bare-metal target (aarch64-none-elf)

Change-Id: Ib603cf7417e6878683a1100d5f55311188e36e8e
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
2023-05-09 11:01:38 +02:00
Manish V Badarkhe
a52c52518b docs: update TZC secured DRAM map for FVP and Juno
Updated the documentation to include missing details about the
TZC secured DRAM mapping for the FVP and Juno platforms.

Change-Id: I10e59b9f9686fa2fef97f89864ebc272b10e5c0b
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2023-05-08 16:16:07 +02:00
Sona Mathew
e5d9b6f0bf docs(errata_abi): document the errata abi changes
Updated errata ABI feature enable flag and the errata non-arm
interconnect based flag, the default values for when the
feature is not enabled.

Change-Id: Ieb2144a1bc38f4ed684fda8280842a18964ba148
Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>
2023-05-05 13:24:59 -05:00
Sona Mathew
ab062f0510 fix(cpus): workaround platforms non-arm interconnect
The workarounds for these below mentioned errata are not implemented
in EL3, but the flags can be enabled/disabled at a platform level
based on arm/non-arm interconnect IP. The ABI helps assist the Kernel
in the process of mitigation for the following errata:

Cortex-A715:   erratum 2701951
Neoverse V2:   erratum 2719103
Cortex-A710:   erratum 2701952
Cortex-X2:     erratum 2701952
Neoverse N2:   erratum 2728475
Neoverse V1:   erratum 2701953
Cortex-A78:    erratum 2712571
Cortex-A78AE:  erratum 2712574
Cortex-A78C:   erratum 2712575

EL3 provides an appropriate return value via errata ABI when the
kernel makes an SMC call using the EM_CPU_ERRATUM_FEATURES FID with the
appropriate erratum ID.

Change-Id: I35bd69d812dba37410dd8bc2bbde20d4955b0850
Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>
2023-05-05 13:23:10 -05:00
Harrison Mutai
3fb7d622ff docs: update release and code freeze dates
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
Change-Id: If782bd337d10213cb74503f4ea54ed304d6e4c34
2023-05-05 14:59:05 +01:00
Boyan Karatotev
0d1229473e refactor(cm): make SVE and SME build dependencies logical
Currently, enabling SME forces SVE off. However, the SME enablement
requires SVE to be enabled, which is reflected in code. This is the
opposite of what the build flags require.

Further, the few platforms that enable SME also explicitly enable SVE.
Their platform.mk runs after the defaults.mk file so this override never
materializes. As a result, the override is only present on the
commandline.

Change it to something sensible where if SME is on then code can rely on
SVE being on too. Do this with a check in the Makefile as it is the more
widely used pattern. This maintains all valid use cases but subtly
changes corner cases no one uses at the moment to require a slightly
different combination of flags.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: If7ca3972ebc3c321e554533d7bc81af49c2472be
2023-05-05 13:16:18 +01:00
Madhukar Pappireddy
e603983d37 Merge changes from topic "allwinner_t507" into integration
* changes:
  feat(allwinner): add support for Allwinner T507 SoC
  feat(allwinner): add function to detect H616 die variant
  feat(allwinner): add extra CPU control registers
  refactor(allwinner): consolidate sunxi_cfg.h files
2023-05-04 15:19:50 +02:00
Olivier Deprez
17f9732da5 Merge changes from topic "mp/group0_support" into integration
* changes:
  docs(spm): support for handling Group0 interrupts
  feat(spmd): introduce platform handler for Group0 interrupt
  feat(spmd): add support for FFA_EL3_INTR_HANDLE_32 ABI
  feat(spmd): register handler for group0 interrupt from NWd
2023-05-03 18:15:40 +02:00
Manish Pandey
f50107d3df Merge changes I9d06e0ee,I6980e84f into integration
* changes:
  feat(tegra): implement 'pwr_domain_off_early' handler
  feat(psci): introduce 'pwr_domain_off_early' hook
2023-05-03 15:10:45 +02:00
Manish Pandey
d494b0eff5 Merge "feat(el3-runtime): handle traps for IMPDEF registers accesses" into integration 2023-05-02 16:51:14 +02:00
Manish V Badarkhe
fda676d3d2 Merge "build: deprecate Arm rde1edge" into integration 2023-05-02 14:31:01 +02:00
Sandrine Bailleux
e23d442d17 Merge "docs(measured-boot): update the build command" into integration 2023-05-02 09:16:01 +02:00
Madhukar Pappireddy
e601729119 docs(spm): support for handling Group0 interrupts
Please refer the doc update.

Change-Id: Ib79fae1296bc28fa9bd0cd79609d6153bb57519b
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2023-05-01 13:29:48 -05:00
Nicola Mazzucato
b2836dfef6 docs: fix rendering for code blocks in SPM
Two sample build command code blocks are not correctly
rendered by the documentation generator.

Fix that by adding newlines.

Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
Change-Id: I1bb075ea4fc8e3230307548e40daecf2a79bae8d
2023-05-01 10:22:05 +01:00
Varun Wadekar
0ed3be6fc2 feat(el3-runtime): handle traps for IMPDEF registers accesses
This patch introduces support to handle traps from lower ELs for
IMPDEF system register accesses. The actual support is left to the
platforms to implement.

Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: I623d5c432b4ce4328b68f238c15b1c83df97c1e5
2023-04-30 11:04:59 +01:00
Sandrine Bailleux
3db998e531 docs: remove plat_convert_pk() interface from release doc
The code was already removed as part of commit 4ac5b3949d
"refactor(auth): replace plat_convert_pk". The present commit just
removes it from the release documentation.

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: I06b35f110c844267d69a865df55dd451ed2f08cd
2023-04-28 16:07:24 +02:00
Manish Pandey
76b225d41d Merge "docs(juno): refer to SCP v2.12.0" into integration 2023-04-28 15:58:05 +02:00
Sandrine Bailleux
63e0b86538 chore(io): remove io_dummy driver
In accordance with [1], delete the io_dummy driver code in preparation
for the v2.9 release.

[1] https://trustedfirmware-a.readthedocs.io/en/latest/about/release-information.html

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: If80573d6f889624ef06b099fd267ee85f3a6331e
2023-04-28 15:45:43 +02:00
Manish V Badarkhe
a49bb6f838 Merge "docs: fix a typo in the glossary" into integration 2023-04-28 12:08:09 +02:00
Manish Pandey
1ff41ba333 Merge "feat(sme): enable SME2 functionality for NS world" into integration 2023-04-28 11:57:25 +02:00
Jayanth Dodderi Chidanand
03d3c0d729 feat(sme): enable SME2 functionality for NS world
FEAT_SME2 is an extension of FEAT_SME and an optional feature
from v9.2. Its an extension of SME, wherein it not only
processes matrix operations efficiently, but also provides
outer-product instructions to accelerate matrix operations.
It affords instructions for multi-vector operations.
Further, it adds an 512 bit architectural register ZT0.

This patch implements all the changes introduced with FEAT_SME2
to ensure that the instructions are allowed to access ZT0
register from Non-secure lower exception levels.

Additionally, it adds support to ensure FEAT_SME2 is aligned
with the existing FEATURE DETECTION mechanism, and documented.

Change-Id: Iee0f61943304a9cfc3db8f986047b1321d0a6463
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
2023-04-27 16:02:27 +01:00
Sandrine Bailleux
6fc9c1cdb9 docs: fix a typo in the glossary
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: I4c76fde5e487ab4b2495f1ea692ae07f8be81d57
2023-04-27 13:29:56 +02:00
Manish V Badarkhe
bb5b2632e1 docs(measured-boot): update the build command
As per recent changes to OPTEE's fvp.mk file, both options
"MEASURED_BOOT" and "MEASURED_BOOT_FTPM" are required for the fTPM
application to be built.

Change-Id: I621113c3fbd47e9f5be015ea65e9b8d0f218e4e8
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2023-04-27 07:28:41 +01:00
Mikhail Kalashnikov
018c1d878f feat(allwinner): add support for Allwinner T507 SoC
The Allwinner T507 SoC is using the same die as the H616, but in a
different package. On top of this, there is at least one different die
revision out there, which uses a different CPU cluster control block.
The same die revision has been spotted in some, but not all, H313 SoCs.

Apart from that IP block, the rest of the SoC seems the same, so we can
support them using the existing H616 port. The die revision can be
auto-detected, so there is no extra build option or knowledge needed.

Provide the deviating CPU power up/down sequence for the die variant.
The new IP block uses per-core instead of per-cluster registers, but
follows the same pattern otherwise.

Since the CPU ops code is shared among all Allwinner SoCs, we need to
dummy-define the new register names for the older SoCs. The actual new
code is guarded by a predicate function, that is hard coded to return
true on the other SoCs. Since this is a static inline function in a
header file, the compiler will optimise away the unneeded branch there,
so the generated code for the other SoCs stays the same.

Change-Id: Ib5ade99d34b4ccb161ccde0e34f280ca6bd16ecd
Signed-off-by: Mikhail Kalashnikov <iuncuim@gmail.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2023-04-26 17:45:29 +01:00