Commit graph

14683 commits

Author SHA1 Message Date
Manish V Badarkhe
669e2b159a docs(changelog): changelog for v2.11 release
Generated this change-log using below command:
npm run release -- --skip.commit --skip.tag --release-as 2.11.0

Change-Id: I34c7b342549781057da1b18116500f110bc3f5ad
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Signed-off-by: Juan Pablo Conde <JuanPablo.Conde@arm.com>
2024-05-22 19:19:54 -05:00
Olivier Deprez
5b986f0188 Merge "build: allow shell commands in CC and friends" into integration 2024-05-16 18:10:08 +02:00
Manish V Badarkhe
91ec786ebd Merge changes from topic "mp/code_owners_doc" into integration
* changes:
  docs(maintainers): add code owners for runtime services module
  docs(maintainers): add missing header files
  docs(maintainers): add code owners for context management module
  docs(maintainers): add code owners for runtime exceptions module
  docs(maintainers): add missing files related to SPMD
  docs(maintainers): update missing files related to EL3 SPMC
2024-05-15 21:53:25 +02:00
Madhukar Pappireddy
b131a12377 docs(maintainers): add code owners for runtime services module
This patch adds code owners responsible for maintaining source files
related to runtime services functionality in TF-A.

Change-Id: I24fbbfd017f90a4fae2ffbb94c8eb81d0d837f8e
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:56:04 -05:00
Madhukar Pappireddy
017566560e docs(maintainers): add missing header files
Few header files are added to the lists tracking code owners of
various modules in TF-A project.

Also remove drivers/nuvoton directory, which does not exist, from the list
of files maintained by the corresponding owners.

Change-Id: Iad7ce5b1430965237004c9e76e972a3469d20c9d
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:56:04 -05:00
Madhukar Pappireddy
5ecb6bb0bf docs(maintainers): add code owners for context management module
This patch adds code owners responsible for maintaining context
management source files in TF-A.

Change-Id: Idc679a907b8380e81d5fbb129fcb74cea5983c0e
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:56:04 -05:00
Madhukar Pappireddy
4d16bc70bf docs(maintainers): add code owners for runtime exceptions module
This patch adds code owners responsible for maintaining runtime
exceptions and interrupt management modules in TF-A.

Change-Id: Idb131a2af143097e4d05a285e08ef12cd5d3db2a
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:56:04 -05:00
Madhukar Pappireddy
a45f75a6a7 docs(maintainers): add missing files related to SPMD
Few header files are added to the list maintained by SPMD code owners.
Also, added myself as one of the code owners for SPMD module in TF-A.

Change-Id: Ic017cb98013d349702c35837463586d4aae65543
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:56:04 -05:00
Madhukar Pappireddy
46fc25019f docs(maintainers): update missing files related to EL3 SPMC
Few header files are added to the list maintained by EL3 SPMC
code owner.

Also added missing copyright license footer message.

Change-Id: I72afe4c4e1280ef64610a5efe6d1b0e2c9727bb0
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
2024-05-15 13:55:21 -05:00
Manish V Badarkhe
f1d1955df8 Merge "docs: remove reference to phabricator pages" into integration 2024-05-15 15:08:22 +02:00
Olivier Deprez
ed3525e604 docs: remove reference to phabricator pages
Phabricator wiki is deprecated, remove TF-A links to this website.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I1255a1513524504636b9c914f9dacf3c54063196
2024-05-15 14:27:45 +02:00
Chris Kay
e01c71266f build: allow shell commands in CC and friends
When we added support for paths with spaces in the `CC`, `LD`, `AR`,
etc. variables in a previous patch, we explicitly broke support for
compiler launchers like `ccache`, which is usually used by prepending it
to `CC`, e.g. `CC='ccache gcc'`. This patch modifies the toolchain
detection logic to avoid sanitizing the toolchain variables for the
shell unless we are confident that they represent a path to the program
(i.e. that `which $(CC)` resolves to something).

Change-Id: I942d09cfc462d50ed07c5d22434b0275c22d1522
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-05-15 13:33:38 +02:00
Olivier Deprez
98a04b223c Merge "build: skip toolchain detection for some targets" into integration 2024-05-15 09:18:50 +02:00
Olivier Deprez
243b50cbde Merge "fix(juno): remove incorrect assert in sp min boot" into integration 2024-05-14 23:42:59 +02:00
Daniel Boulby
7efaad9e30 fix(juno): remove incorrect assert in sp min boot
There may be some valid configurations where a bootloader runs
before sp_min. In this case the bootloader may pass arguments through
the general purpose registers when passing control to sp_min causing
the assert to fail. Although sp_min may not use the content of the
registers requiring them to be zero seems unnecessary.

Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
Change-Id: I96fdc79626968830985bdd540f89e73b213de7d8
2024-05-14 18:23:29 +01:00
Chris Kay
291e718229 build: skip toolchain detection for some targets
Most developers run the `clean`, `checkpatch` and other similar targets
without specifying any other additional build options. When combined
with a flow where the developer passes `CROSS_COMPILE` or `CC`
explicitly, and where the default-configured tools are not on the PATH,
these targets will warn about unrecognized toolchain tools.

This change is a workaround for this whereby the toolchain makefile is
not expanded unless a target *not* named `*clean`, `check*` `doc` or
`*tool` has been specified.

Change-Id: I2f2a275964b65253df07c2207043217b14f615fe
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-05-14 15:41:15 +00:00
Olivier Deprez
85ea97f972 Merge "fix(fvp): added ranges for linux" into integration 2024-05-13 18:24:32 +02:00
J-Alves
b7491c77d7 fix(fvp): added ranges for linux
This extends the SPM's NS ranges for linux to do
the RXTX map.

Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: I99b4f2c0355edb88be2484b445b97701e166cbfd
2024-05-13 18:17:29 +02:00
Manish V Badarkhe
09a1cc2a0b Merge "build(libfdt): introduce include guards" into integration 2024-05-10 16:54:20 +02:00
Manish Pandey
e77d70bb1c Merge "docs(prerequisites): update mbedtls version used" into integration 2024-05-10 16:43:19 +02:00
Govindraj Raja
d963c6bade docs(prerequisites): update mbedtls version used
With Commit@55aed7d798f3d48d6aa08d58eb46c4cda318bcfb
we have now updated to use mbedtls 3.6.0.

Update document to reflect the same.

Change-Id: I6bd8fcca795373a05bc6beb2e085d24fdd14932f
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-05-10 09:23:30 -05:00
Chris Kay
6d5e7e8bea build(libfdt): introduce include guards
In some build configurations the `libfdt.mk` file is included multiple
times. Due to the fact that rules cannot (or rather, should not) be
defined multiple times, the `MAKE_LIB` function (which this makefile
calls) cannot be called twice with the same inputs. Doing so leads to
warnings about overridden rules, e.g.:

    lib/libfdt/libfdt.mk:19: warning: overriding recipe for target libfdt'
    lib/libfdt/libfdt.mk:19: warning: ignoring old recipe for target libfdt'
    lib/libfdt/libfdt.mk:19: warning: overriding recipe for target libfdt/fdt.o'
    lib/libfdt/libfdt.mk:19: warning: ignoring old recipe for target libfdt/fdt.o'
    lib/libfdt/libfdt.mk:19: warning: overriding recipe for target libfdt/fdt_addresses.o'
    lib/libfdt/libfdt.mk:19: warning: ignoring old recipe for target libfdt/fdt_addresses.o'
    lib/libfdt/libfdt.mk:19: warning: overriding recipe for target libfdt/fdt_empty_tree.o'
    lib/libfdt/libfdt.mk:19: warning: ignoring old recipe for target libfdt/fdt_empty_tree.o'
    lib/libfdt/libfdt.mk:19: warning: overriding recipe for target libfdt/fdt_ro.o'
    lib/libfdt/libfdt.mk:19: warning: ignoring old recipe for target libfdt/fdt_ro.o'
    lib/libfdt/libfdt.mk:19: warning: overriding recipe for target libfdt/fdt_rw.o'
    lib/libfdt/libfdt.mk:19: warning: ignoring old recipe for target libfdt/fdt_rw.o'
    lib/libfdt/libfdt.mk:19: warning: overriding recipe for target libfdt/fdt_strerror.o'
    lib/libfdt/libfdt.mk:19: warning: ignoring old recipe for target libfdt/fdt_strerror.o'
    lib/libfdt/libfdt.mk:19: warning: overriding recipe for target libfdt/fdt_sw.o'
    lib/libfdt/libfdt.mk:19: warning: ignoring old recipe for target libfdt/fdt_sw.o'
    lib/libfdt/libfdt.mk:19: warning: overriding recipe for target libfdt/fdt_wip.o'
    lib/libfdt/libfdt.mk:19: warning: ignoring old recipe for target libfdt/fdt_wip.o'
    lib/libfdt/libfdt.mk:19: warning: overriding recipe for target lib/libfdt.a'
    lib/libfdt/libfdt.mk:19: warning: ignoring old recipe for target lib/libfdt.a'

This change introduces an include guard to the file to prevent it from
executing twice. This avoids redefining the rules defined by `MAKE_LIB`.

Change-Id: I07e0648b07dbd907eaa6dd6fbd0788203b19fddb
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-05-10 11:58:45 +00:00
Manish Pandey
23fc05a33d Merge "docs(context-mgmt): add documentation for context management library" into integration 2024-05-10 12:05:07 +02:00
Manish Pandey
b38b37ba06 Merge changes from topic "ar/pmuSaveRestore" into integration
* changes:
  feat(tc): add save/restore DSU PMU register support
  feat(dsu): save/restore DSU PMU register
  feat(plat): add platform API that gets cluster ID
2024-05-10 11:46:42 +02:00
Manish Pandey
73360b4308 Merge "chore(compiler-rt): update compiler-rt source files" into integration 2024-05-10 11:26:59 +02:00
Manish Pandey
3a965bb372 chore(compiler-rt): update compiler-rt source files
Update the compiler-rt source files to the tip of llvm-project [1]
on 9th May 2024, sha 673cfcd03b7b938b422fee07d8ca4a127d480b1f

[1] https://github.com/llvm/llvm-project

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I19f2b8ea6676d365780783f902003b0e95f0f606
2024-05-10 11:24:49 +02:00
Olivier Deprez
332b62e044 Merge "feat(cpus): support to update External LLC presence in Neoverse N3" into integration 2024-05-10 07:55:59 +02:00
Olivier Deprez
88d48bc7fa Merge "fix(smc): correctly find pmf version" into integration 2024-05-10 07:54:23 +02:00
Manish Pandey
421f3e3e9e Merge "feat(cpus): support to update External LLC presence in Neoverse V2" into integration 2024-05-09 22:05:07 +02:00
Manish Pandey
32e5979a44 Merge changes Ia6611e0c,Ic1ea4d59 into integration
* changes:
  build: remove experimental mark for PSA FWU support
  build: mark DICE_PROTECTION_ENVIRONMENT as an experimental feature
2024-05-09 22:03:34 +02:00
Lauren Wehrmeister
b692987ccb Merge "feat(mbedtls): update config for 3.6.0" into integration 2024-05-09 21:14:07 +02:00
Jimmy Brisson
55aed7d798 feat(mbedtls): update config for 3.6.0
Further, remove reliance of mbedtls_md_psa_alg_from_type on
the actual values of the PSA_ALG_... defines.

And work around a prior bug that would try to import a
SubjectPublicKeyInfo into a PSA key. Instead, we import the
SubjectPublicKey itself.

Change-Id: Ib345b0bd4f2994f366629ed162d18814fd05aa2b
Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
2024-05-09 18:44:38 +01:00
Arvind Ram Prakash
b87d7ab13f feat(tc): add save/restore DSU PMU register support
This patch adds support for preserving DSU PMU registers
over a power cycle in TC platform.

These PMU registers need to be manually saved/restored
because they are part of cluster power domain and OS
doesn't know when DSU is powered OFF.

Change-Id: Ife9573f205d99d092039cb95674e7434bb5f9239
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
2024-05-09 10:20:58 -05:00
Arvind Ram Prakash
f99a69c386 feat(dsu): save/restore DSU PMU register
Adds driver support to preserve DSU PMU register values over a DSU
power cycle. This driver needs to be enabled by the platforms that
support DSU and also need it's PMU registers to be preserved

Change-Id: I7fc68a3d7d99ee369379aa5cd114fffc763fc0d2
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
2024-05-09 10:20:32 -05:00
Arvind Ram Prakash
e6ae019a84 feat(plat): add platform API that gets cluster ID
This patch adds an API(plat_cluster_id_by_mpidr)
that retrieves the cluster ID by looking at
the MPIDR_EL1 for platforms that have ARM_PLAT_MT set

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I0266f2e49a3114d169a7708d7ddbd4f6229a7a41
2024-05-09 10:00:16 -05:00
Manish Pandey
bbbc32c904 Merge "refactor(arm): remove console switch from platform" into integration 2024-05-09 16:36:31 +02:00
Manish V Badarkhe
91dcf7d176 build: remove experimental mark for PSA FWU support
The PSA FWU support is significantly matured in terms of
its design, threat model documentation, and implementation
as well as its adherence to the latest PSA FWU specifications.
Consequently, the experimental mark for this feature has been
removed.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: Ia6611e0c71485413b0da885f41ac59c93038e480
2024-05-09 14:42:18 +02:00
Manish V Badarkhe
82222db809 build: mark DICE_PROTECTION_ENVIRONMENT as an experimental feature
The DICE_PROTECTION_ENVIRONMENT support has been marked as experimental
since it has not incorporated into the threat model.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: Ic1ea4d59fd8a3fde7ce0404488a56e9d11bc1b85
2024-05-09 14:42:06 +02:00
Manish Pandey
5593ec1ae2 refactor(arm): remove console switch from platform
With commit af3e8e63b switching from Boot console to runtime console is
consolidated and been moved to just before exiting bl31 and removed from
platform runtime setup hooks.

For Arm platform's runtime hook has not removed switching of console
causing runtime console to be used for Runtime instrumentation logs
which is just before bl31 exit. Causing a CI sript fail as it expects
the logs on boot console.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: Ia3728d17635f993911099f9d6a6938e55f45de42
2024-05-09 14:26:03 +02:00
Joanna Farley
f1464ceaf9 Merge changes I0e7650c0,I33acead9 into integration
* changes:
  fix(xilinx): follow MISRA-C standards for condition check
  fix(zynqmp): resolve null pointer dereferencing
2024-05-09 09:18:21 +02:00
Govindraj Raja
62865b4ee4 fix(smc): correctly find pmf version
Commit@f7679d437d5f27a3168f017db8d42bc561ac0c59
PMF is moved under vendor specific EL3 range, part of this
we have introduced each sub-service have an version scheme[1].

- Current PMF is not handling correctly identifying all FID's
  under it so handle this correctly.
- Minor refactor to use existing macro GET_SMC_NUM rather than manual
  parsing to find the SMC number.

[1]:
https://trustedfirmware-a.readthedocs.io/en/latest/components/ven-el3-service.html

Change-Id: I7a4c8936e42d4a579f0243fa3d06015540caca37
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-05-08 20:36:04 -05:00
Younghyun Park
6fbc98b15d feat(cpus): support to update External LLC presence in Neoverse N3
The CPUECTLR_EL1.EXTLLC bit indicates that an external last level
cache(LLC) is present in the system. The default value is internal LLC.
Some systems which may have External LLC can enable the External LLC
presece with the build option 'NEOVERSE_Nx_EXTERNAL_LLC'.

Change-Id: I2567283a55c0d6e2f9fd986b7dbab91c7a815d3d
Signed-off-by: Younghyun Park <younghyunpark@google.com>
2024-05-08 17:22:50 -07:00
Manish Pandey
a97e1f9747 Merge changes from topic "early_console" into integration
* changes:
  feat(stm32mp2): use early traces
  feat(st-bsec): use early traces
  refactor(st): replace STM32MP_EARLY_CONSOLE with EARLY_CONSOLE
  feat(console): introduce EARLY_CONSOLE
  feat(bl32): create an sp_min_setup function
2024-05-08 23:12:11 +02:00
Manish Pandey
10327628ca Merge "feat(stm32mp2): add ddr-fw parameter for fiptool" into integration 2024-05-08 23:08:44 +02:00
Manish Pandey
72ac981044 Merge changes from topic "css_refactor_arm" into integration
* changes:
  refactor(console): consolidate console runtime switch
  refactor(synquacer): console runtime switch on bl31 exit
  refactor(nxp): console runtime switch on bl31 exit
  refactor(nvidia): console runtime switch on bl31 exit
  refactor(hisilicon): console runtime switch on bl31 exit
  refactor(xilinx): console runtime switch on bl31 exit
  refactor(mediatek): console runtime switch on bl31 exit
  refactor(armada): console runtime switch on bl31 exit
  refactor(imx): console runtime switch on bl31 exit
  refactor(brcm): console runtime switch on bl31 exit
2024-05-08 22:25:08 +02:00
Manish V Badarkhe
69c4bf9ae3 Merge changes from topic "tc_refactor_dt_binding" into integration
* changes:
  refactor(tc): move SCMI nodes into the 'firmware' node
  refactor(tc): move MHUv2 property to tc2.dts
  refactor(tc): drop the 'mhu-protocol' property in DT binding
  refactor(tc): append properties in DT bindings
  refactor(tc): move SCMI clock DT binding into tc-base.dtsi
  refactor(tc): introduce a new file tc-fpga.dtsi
  refactor(tc): move out platform specific DT binding from tc-base.dtsi
  refactor(tc): move out platform specific code from tc_vers.dtsi
  refactor(tc): add platform specific DT files
  refactor(tc): rename 'tc_fvp.dtsi' to 'tc-fvp.dtsi'
  refactor(tc): introduce a new macro ADDRESSIFY()
2024-05-08 20:19:36 +02:00
Manish Pandey
4bd1e7bdc6 Merge changes from topic "add_s32g274ardb2_support" into integration
* changes:
  feat(s32g274a): enable BL31 stage
  feat(s32g274a): add S32G274ARDB2 board support
  feat(nxp-drivers): add Linflex driver
2024-05-08 17:16:50 +02:00
Salman Nabi
af3e8e63b4 refactor(console): consolidate console runtime switch
Refactor console_flush() and console_switch_state(CONSOLE_FLAG_RUNTIME)
to bl31_main(). This has been done per the recommendation in TF-A
mailing list. These calls need to be the last calls, after any runtime
initialization has been done, before BL31 exits.

All platforms that override the generic implementation of
bl31_plat_runtime_setup() have been refactored. The console_flush()
and console_switch_state() calls have been removed as they become
part of bl31_main() function.

Any platform that don't need to make any change to the generic (weak)
implementation of bl31_plat_runtime_setup() don't need to override it
in their platforms.

Change-Id: I6d04d6daa9353daeaa7e3df9e9adf6f322a917b8
Signed-off-by: Salman Nabi <salman.nabi@arm.com>
2024-05-08 15:50:58 +02:00
Salman Nabi
92752355f5 refactor(synquacer): console runtime switch on bl31 exit
TF-A plans to move the console_flush() and
console_switch_state(CONOSLE_FLAG_RUNTIME) calls to bl31_main() just
before BL31 exits.

For now we are mimicking the generic implementation by calling flush
and changing the console state to runtime at the end of
bl31_plat_runtime_setup() for each platform. This is so that each
platform can test it prior to moving flush and switch to bl31_main().

This patch affects the synquacer SoC of the socionext platform.

Change-Id: I85a251e3d9732c5fb5010c3c8bb7323c4f57fa96
Signed-off-by: Salman Nabi <salman.nabi@arm.com>
2024-05-08 15:50:58 +02:00
Salman Nabi
3e6fb87225 refactor(nxp): console runtime switch on bl31 exit
TF-A plans to move the console_flush() and
console_switch_state(CONOSLE_FLAG_RUNTIME) calls to bl31_main() just
before BL31 exits.

For now we are mimicking the generic implementation by calling flush
and changing the console state to runtime at the end of
bl31_plat_runtime_setup() for each platform. This is so that each
platform can test it prior to moving flush and switch to bl31_main().

This patch affects the nxp platform only.

Change-Id: Ic55334a4a69b57f3c18799da12f4f521ce9de423
Signed-off-by: Salman Nabi <salman.nabi@arm.com>
2024-05-08 15:50:58 +02:00