]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
3 years agofix(bl31): allow use of EHF with S-EL2 SPMC
Raghu Krishnamurthy [Mon, 25 Jul 2022 21:44:33 +0000 (14:44 -0700)]
fix(bl31): allow use of EHF with S-EL2 SPMC

Currently, when SPMC at S-EL2 is used, we cannot use the RAS framework
to handle Group 0 interrupts. This is required on platforms where first
level of triaging needs to occur at EL3, before forwarding RAS handling
to a secure partition running atop an SPMC (hafnium).
The RAS framework depends on EHF and EHF registers for Group 0
interrupts to be trapped to EL3 when execution is both in secure world
and normal world. However, an FF-A compliant SPMC requires secure
interrupts to be trapped by the SPMC when execution is in S-EL0/S-EL1.
Consequently, the SPMC (hafnium) is incompatible with EHF, since it is
not re-entrant, and a Group 0 interrupt trapped to EL3 when execution is
in secure world, cannot be forwarded to an SP running atop SPMC.
This patch changes EHF to only register for Group 0 interrupts to be
trapped to EL3 when execution is in normal world and also makes it a
valid routing model to do so, when EL3_EXCEPTION_HANDLING is set (when
enabling the RAS framework).

Signed-off-by: Raghu Krishnamurthy <raghu.ncstate@gmail.com>
Change-Id: I72d4cf4d8ecc549a832d1c36055fbe95866747fe

3 years agoMerge "fix(errata): workaround for Neoverse-V1 erratum 1618635" into integration
Madhukar Pappireddy [Thu, 11 Aug 2022 20:51:42 +0000 (22:51 +0200)]
Merge "fix(errata): workaround for Neoverse-V1 erratum 1618635" into integration

3 years agoMerge "fix(build): discard sections also with SEPARATE_NOBITS_REGION" into integration
Joanna Farley [Thu, 11 Aug 2022 20:27:21 +0000 (22:27 +0200)]
Merge "fix(build): discard sections also with SEPARATE_NOBITS_REGION" into integration

3 years agoMerge "fix(build): disable default PIE when linking" into integration
Bipin Ravi [Thu, 11 Aug 2022 17:08:51 +0000 (19:08 +0200)]
Merge "fix(build): disable default PIE when linking" into integration

3 years agoMerge "feat(bl): add interface to query TF-A semantic ver" into integration
Madhukar Pappireddy [Thu, 11 Aug 2022 16:02:30 +0000 (18:02 +0200)]
Merge "feat(bl): add interface to query TF-A semantic ver" into integration

3 years agofix(build): discard sections also with SEPARATE_NOBITS_REGION
Samuel Holland [Sat, 9 Apr 2022 03:22:04 +0000 (22:22 -0500)]
fix(build): discard sections also with SEPARATE_NOBITS_REGION

Some linker sections are discarded since 511046eaa28f ("BL31: discard
.dynsym .dynstr .hash sections to make ENABLE_PIE work"). However, that
logic was placed inside a preprocessor condition, so it only applied to
the !SEPARATE_NOBITS_REGION case. Move the /DISCARD/ block down so it
applies in all cases.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Change-Id: I6604609f2321a2a9c32a25721a697c320108a974

3 years agofix(build): disable default PIE when linking
Samuel Holland [Sat, 9 Apr 2022 02:56:02 +0000 (21:56 -0500)]
fix(build): disable default PIE when linking

Commit f7ec31db2d ("Disable PIE compilation option") allowed building a
non-relocatable firmware with a default-PIE toolchain by disabling PIE
at compilation time. This prevents the compiler from generating
relocations against a GOT.

However, when a default-PIE GCC is used as the linker, the final binary
will still be a PIE, containing an (unused) GOT and dynamic symbol
table. These structures do not affect execution, but they waste space in
the firmware binary. Disable PIE at link time to recover this space.

Change-Id: I2be7ac9c1a957f6db8d75efe6e601e9a5760a925
Signed-off-by: Samuel Holland <samuel@sholland.org>
3 years agoMerge "fix(bl31): pass the EA bit to 'delegate_sync_ea'" into integration
Bipin Ravi [Wed, 10 Aug 2022 13:45:55 +0000 (15:45 +0200)]
Merge "fix(bl31): pass the EA bit to 'delegate_sync_ea'" into integration

3 years agoMerge "feat(sve): support full SVE vector length" into integration
Olivier Deprez [Tue, 9 Aug 2022 13:25:57 +0000 (15:25 +0200)]
Merge "feat(sve): support full SVE vector length" into integration

3 years agoMerge "docs(juno): fix broken link" into integration
Joanna Farley [Mon, 8 Aug 2022 07:54:02 +0000 (09:54 +0200)]
Merge "docs(juno): fix broken link" into integration

3 years agodocs(juno): fix broken link
Arthur She [Fri, 24 Jun 2022 00:31:02 +0000 (08:31 +0800)]
docs(juno): fix broken link

The URL of the Juno Getting Started Guide has been changed.
Fix the broken link.

Signed-off-by: Arthur She <arthur.she@linaro.org>
Change-Id: I55697f2f1f787c32d1ea7dfcf9eda619906cdb5d

3 years agoMerge "fix(versal): use only one space for indentation" into integration
Joanna Farley [Sun, 7 Aug 2022 22:00:44 +0000 (00:00 +0200)]
Merge "fix(versal): use only one space for indentation" into integration

3 years agoMerge changes from topic "xilinx-versal-coding-style" into integration
Joanna Farley [Sun, 7 Aug 2022 21:59:52 +0000 (23:59 +0200)]
Merge changes from topic "xilinx-versal-coding-style" into integration

* changes:
  fix(versal): fix code indentation issues
  fix(versal): fix macro coding style issues

3 years agofix(errata): workaround for Neoverse-V1 erratum 1618635
Juan Pablo Conde [Mon, 28 Feb 2022 19:14:44 +0000 (14:14 -0500)]
fix(errata): workaround for Neoverse-V1 erratum 1618635

Neoverse-V1 erratum 1618635 is a Cat B erratum that applies to
revision r0p0. It is fixed in r1p0.
The workaround is done through the instruction patching
mechanism, which is performed by a write sequence of
IMPLEMENTATION DEFINED registers.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1401781/latest/

Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
Change-Id: I53e406735cd3a2a930fdc72ebce3bbed97100168

3 years agoMerge "fix: make TF-A use provided OpenSSL binary" into integration
Lauren Wehrmeister [Thu, 4 Aug 2022 15:29:24 +0000 (17:29 +0200)]
Merge "fix: make TF-A use provided OpenSSL binary" into integration

3 years agofix(versal): use only one space for indentation
Michal Simek [Thu, 4 Aug 2022 12:08:32 +0000 (14:08 +0200)]
fix(versal): use only one space for indentation

Trivial patch to remove additional space.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: Ifa33dee81243c0b21ca0f13b8e4d575646818162

3 years agofix: make TF-A use provided OpenSSL binary
Salome Thirot [Thu, 14 Jul 2022 15:14:15 +0000 (16:14 +0100)]
fix: make TF-A use provided OpenSSL binary

Currently Tf-A uses whatever openssl binary is on the system to sign
images. However if OPENSSL_DIR is specified in the build flags this can
lead to linking issues as the system binary can end up being linked
against shared libraries provided in OPENSSL_DIR/lib if both binaries
(the system's and the on in OPENSSL_DIR/bin) are the same version.
This patch ensures that the binary used is always the one given by
OPENSSL_DIR to avoid those link issues.

Signed-off-by: Salome Thirot <salome.thirot@arm.com>
Change-Id: Ib534e06ebc8482e4391e376d3791a87968de4a99

3 years agofix(versal): fix code indentation issues
Michal Simek [Fri, 29 Jul 2022 05:48:59 +0000 (07:48 +0200)]
fix(versal): fix code indentation issues

Next line should be aligned with the previous code.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: I20d82ba5fa70fa252341b62e57fac265241f3391

3 years agofix(versal): fix macro coding style issues
Michal Simek [Wed, 27 Jul 2022 12:17:30 +0000 (14:17 +0200)]
fix(versal): fix macro coding style issues

Use only one space between #define and macro name.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: Ieb9bdd5bcfa56bd265df72692a09c7340fe132cb

3 years agofix(bl31): pass the EA bit to 'delegate_sync_ea'
Varun Wadekar [Wed, 3 Aug 2022 11:01:36 +0000 (12:01 +0100)]
fix(bl31): pass the EA bit to 'delegate_sync_ea'

During a synchronous exception, the 'enter_lower_el_sync_ea' handler
tests the ESR_EL3 EA bit and calls 'report_unhandled_exception', if
it is not set.

EA = 0 and IFSC = SEA, seems to be a contradiction. EA provides further
classification of a synchronous abort. A synchronous abort is determined
by the IFSC value on an instruction fetch synchronous abort. As a result,
EA will never be set to 1 on an instruction fetch synchronous abort and
'report_unhandled_exception' should not be called.

This patch removes this behavior to allow the platform to handle the
exception.

Signed-off-by: Nicolas Benech <nbenech@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: I3f004447ad4316d81649063e1ffb3ac644c83ede

3 years agofeat(bl): add interface to query TF-A semantic ver
laurenw-arm [Tue, 12 Jul 2022 15:12:05 +0000 (10:12 -0500)]
feat(bl): add interface to query TF-A semantic ver

Adding interface for stand-alone semantic version of TF-A
for exporting to RSS attestation, and potentially other areas
as well.

Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
Change-Id: Ib4a2c47aa1e42a3b850185e674c90708a05cda53

3 years agoMerge "feat(plat/qti): fix to support cpu errata" into integration
Bipin Ravi [Tue, 2 Aug 2022 19:25:24 +0000 (21:25 +0200)]
Merge "feat(plat/qti): fix to support cpu errata" into integration

3 years agoMerge changes from topic "st_fip_uuid" into integration
Lauren Wehrmeister [Mon, 1 Aug 2022 14:45:49 +0000 (16:45 +0200)]
Merge changes from topic "st_fip_uuid" into integration

* changes:
  feat(stm32mp1): retrieve FIP partition by type UUID
  feat(guid-partition): allow to find partition by type UUID
  refactor(stm32mp1): update PLAT_PARTITION_MAX_ENTRIES

3 years agoMerge "feat(zynqmp): protect eFuses from non-secure access" into integration
Joanna Farley [Mon, 1 Aug 2022 10:05:18 +0000 (12:05 +0200)]
Merge "feat(zynqmp): protect eFuses from non-secure access" into integration

3 years agoMerge changes from topic "xlnx_misra" into integration
Joanna Farley [Mon, 1 Aug 2022 10:04:04 +0000 (12:04 +0200)]
Merge changes from topic "xlnx_misra" into integration

* changes:
  fix(versal): resolve misra 10.1 warnings
  fix(versal): resolve the misra 4.6 warnings

3 years agofix(versal): resolve misra 10.1 warnings
Venkatesh Yadav Abbarapu [Sun, 31 Jul 2022 08:38:53 +0000 (14:08 +0530)]
fix(versal): resolve misra 10.1 warnings

MISRA Violation: MISRA-C: 2012 R.10.1
-The operand to the operator does not have an essentially
unsigned type.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: I4873a620086dfd6f636fe730165a9d13a29e9652

3 years agofix(versal): resolve the misra 4.6 warnings
Venkatesh Yadav Abbarapu [Sun, 31 Jul 2022 08:35:40 +0000 (14:05 +0530)]
fix(versal): resolve the misra 4.6 warnings

MISRA Violation: MISRA-C:2012 R.4.6
- Using basic numerical type int rather than a typedef
that includes size and signedness information.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: Ieff90b5311a3bde8a2cb302ca81c23eeee6d235a

3 years agofeat(zynqmp): protect eFuses from non-secure access
Vesa Jääskeläinen [Fri, 29 Apr 2022 05:47:24 +0000 (08:47 +0300)]
feat(zynqmp): protect eFuses from non-secure access

When configuration option ZYNQMP_SECURE_EFUSES is defined then Xilinx
ZynqMP's PS eFuses can only be accesses from secure state.

This enables eFuses to be reserved and protected only for security use
cases for example in OP-TEE.

Change-Id: I866905e35ce488f50f5f6e1b4667b08a9fa2386d
Signed-off-by: Vesa Jääskeläinen <vesa.jaaskelainen@vaisala.com>
3 years agofeat(plat/qti): fix to support cpu errata
Saurabh Gorecha [Mon, 4 Apr 2022 18:41:52 +0000 (00:11 +0530)]
feat(plat/qti): fix to support cpu errata

fix to support ARM CPU errata based on core used.

Signed-off-by: Saurabh Gorecha <quic_sgorecha@quicinc.com>
Change-Id: If1a438f98f743435a7a0b683a32ccf14164db37e

3 years agoMerge "fix(xilinx): miscellaneous fixes for xilinx platforms" into integration
Joanna Farley [Thu, 28 Jul 2022 16:37:45 +0000 (18:37 +0200)]
Merge "fix(xilinx): miscellaneous fixes for xilinx platforms" into integration

3 years agofix(xilinx): miscellaneous fixes for xilinx platforms
Venkatesh Yadav Abbarapu [Thu, 28 Jul 2022 03:20:30 +0000 (08:50 +0530)]
fix(xilinx): miscellaneous fixes for xilinx platforms

This patch gathers miscellaneous minor fixes to the xilinx
platforms like tabs for indentation and misra 10.1 warnings.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: I4cdb89ffec7d5abc64e065ed5b5e5d10b30ab9f9

3 years agoMerge "fix(ufs): add retries to ufs_read_capacity" into integration
Madhukar Pappireddy [Wed, 27 Jul 2022 14:06:43 +0000 (16:06 +0200)]
Merge "fix(ufs): add retries to ufs_read_capacity" into integration

3 years agoMerge "fix(ufs): point utrlbau to header instead of upiu" into integration
Madhukar Pappireddy [Wed, 27 Jul 2022 13:58:39 +0000 (15:58 +0200)]
Merge "fix(ufs): point utrlbau to header instead of upiu" into integration

3 years agofix(ufs): point utrlbau to header instead of upiu
anans [Tue, 26 Jul 2022 11:39:23 +0000 (11:39 +0000)]
fix(ufs): point utrlbau to header instead of upiu

utrlbau should point to header and not upiu
this is the case everywhere except for ufs_prepare_cmd

Signed-off-by: anans <anans@google.com>
Change-Id: I02695824c1409124a60e63c3a7ff3278a4dc5fa8

3 years agoMerge "(feat)n1sdp: add support for OP-TEE SPMC" into integration
Madhukar Pappireddy [Mon, 25 Jul 2022 19:36:31 +0000 (21:36 +0200)]
Merge "(feat)n1sdp: add support for OP-TEE SPMC" into integration

3 years ago(feat)n1sdp: add support for OP-TEE SPMC
Vishnu Banavath [Mon, 20 Jun 2022 17:20:21 +0000 (18:20 +0100)]
(feat)n1sdp: add support for OP-TEE SPMC

These changes are to add support for loading and booting
OP-TEE as SPMC running at SEL1 for N1SDP platform.

Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
Change-Id: I0514db646d4868b6f0c56f1ea60495cb3f7364fd

3 years agoMerge "feat(tc): introduce TC2 platform" into integration
Madhukar Pappireddy [Mon, 25 Jul 2022 13:09:29 +0000 (15:09 +0200)]
Merge "feat(tc): introduce TC2 platform" into integration

3 years agoMerge "fix(versal): remove clock related macros" into integration
Joanna Farley [Mon, 25 Jul 2022 11:40:57 +0000 (13:40 +0200)]
Merge "fix(versal): remove clock related macros" into integration

3 years agoMerge "docs(maintainers): switch emails from Xilinx to AMD" into integration
Joanna Farley [Mon, 25 Jul 2022 11:39:57 +0000 (13:39 +0200)]
Merge "docs(maintainers): switch emails from Xilinx to AMD" into integration

3 years agodocs(maintainers): switch emails from Xilinx to AMD
Michal Simek [Mon, 25 Jul 2022 08:26:03 +0000 (10:26 +0200)]
docs(maintainers): switch emails from Xilinx to AMD

Switch emails from Xilinx to AMD after acquisition.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Change-Id: I5d126dc49e53f2735bb7e103f8f883a9474206fc

3 years agofix(versal): remove clock related macros
Michal Simek [Thu, 21 Jul 2022 06:54:16 +0000 (08:54 +0200)]
fix(versal): remove clock related macros

TF-A doesn't configure clock on Versal. Setup is done by previous
bootloader (called PLM) that's why there is no need to have macro listed in
headers. Also previous phase can disable access to these registers that's
why better to remove them.

Change-Id: I53ba344ad932c532b0babdce9d2b26e4c2c1b846
Signed-off-by: Michal Simek <michal.simek@amd.com>
3 years agofeat(tc): introduce TC2 platform
Rupinderjit Singh [Mon, 4 Apr 2022 16:28:41 +0000 (17:28 +0100)]
feat(tc): introduce TC2 platform

Added a platform support to use tc2 specific CPU cores.

Signed-off-by: Rupinderjit Singh <rupinderjit.singh@arm.com>
Change-Id: Ib76d440e358e9bd1cf80aec5b8591f7a6e47ecbd

3 years agoMerge "fix(psci): fix MISRA failure - Memory - illegal accesses" into integration
Bipin Ravi [Fri, 22 Jul 2022 14:03:28 +0000 (16:03 +0200)]
Merge "fix(psci): fix MISRA failure - Memory - illegal accesses" into integration

3 years agofix(psci): fix MISRA failure - Memory - illegal accesses
Manish V Badarkhe [Fri, 22 Jul 2022 11:21:16 +0000 (12:21 +0100)]
fix(psci): fix MISRA failure - Memory - illegal accesses

Fixed below MISRA failure -
>>>     CID 379362:  Memory - illegal accesses  (OVERRUN)
>>>     Overrunning array "psci_non_cpu_pd_nodes" of 5 16-byte
>>>     elements at element index 5 (byte offset 95) using index
>>>     "i" (which evaluates to 5).

Change-Id: Ie88fc555e48b06563372bfe4e51f16b13c0a020b
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
3 years agoMerge "fix(doc): document missing RMM-EL3 runtime services" into integration
Manish Pandey [Fri, 22 Jul 2022 08:51:41 +0000 (10:51 +0200)]
Merge "fix(doc): document missing RMM-EL3 runtime services" into integration

3 years agoMerge "fix(errata): workaround for Cortex-X2 erratum 2371105" into integration
Madhukar Pappireddy [Thu, 21 Jul 2022 19:32:22 +0000 (21:32 +0200)]
Merge "fix(errata): workaround for Cortex-X2 erratum 2371105" into integration

3 years agofix(errata): workaround for Cortex-X2 erratum 2371105
Bipin Ravi [Tue, 12 Jul 2022 22:13:01 +0000 (17:13 -0500)]
fix(errata): workaround for Cortex-X2 erratum 2371105

Cortex-X2 erratum 2371105 is a cat B erratum that applies to
revisions r0p0 - r2p0 and is fixed in r2p1. The workaround is to
set bit[40] of CPUACTLR2_EL1 to disable folding of demand requests
into older prefetches with L2 miss requests outstanding.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1775100/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: Ib4f0caac36e1ecf049871acdea45526b394b7bad

3 years agoMerge "fix(errata): workaround for Cortex A78C erratum 2242638" into integration
Lauren Wehrmeister [Thu, 21 Jul 2022 18:31:34 +0000 (20:31 +0200)]
Merge "fix(errata): workaround for Cortex A78C erratum 2242638" into integration

3 years agoMerge "fix(tc): tc2 bl1 start address shifted by one page" into integration
Manish V Badarkhe [Thu, 21 Jul 2022 16:39:28 +0000 (18:39 +0200)]
Merge "fix(tc): tc2 bl1 start address shifted by one page" into integration

3 years agofix(doc): document missing RMM-EL3 runtime services
Javier Almansa Sobrino [Mon, 4 Jul 2022 16:06:36 +0000 (17:06 +0100)]
fix(doc): document missing RMM-EL3 runtime services

This patch adds documentation for the missing RMM-EL3
runtime services:

* RMM_RMI_REQ_COMPLETE
* RMM_GTSI_DELEGATE
* RMM_GTSI_UNDELEGATE

This patch also fixes a couple of minor bugs on return codes
for delegate/undelegate internal APIs.

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: Ic721005e7851e838eebaee7865ba78fadc3309e4

3 years agoMerge "feat(psci): add a helper function to ensure that non-boot PEs are offline...
Manish Pandey [Thu, 21 Jul 2022 10:27:55 +0000 (12:27 +0200)]
Merge "feat(psci): add a helper function to ensure that non-boot PEs are offline" into integration

3 years agofix(tc): tc2 bl1 start address shifted by one page
Olivier Deprez [Wed, 20 Jul 2022 15:37:23 +0000 (17:37 +0200)]
fix(tc): tc2 bl1 start address shifted by one page

Change [1] is specific to TC2 model and breaks former TC0/TC1 test
configs.
BL1 start address is 0x0 on TC0/TC1 and 0x1000 from TC2 onwards.
Fix by adding conditional defines depending on TARGET_PLATFORM build
flag.

[1] https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/15917

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I51f77e6a61ca8eaa6871c19cabe9deb1288f5a9d

3 years agofeat(psci): add a helper function to ensure that non-boot PEs are offline
Lucian Paul-Trifu [Wed, 2 Mar 2022 21:28:24 +0000 (21:28 +0000)]
feat(psci): add a helper function to ensure that non-boot PEs are offline

Introduce a helper function that ensures that non-boot PEs are offline.
This function will be used by DRTM implementation to ensure that system
is running with only single PE.

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com>
Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I521ebefa49297026b02554629b1710a232148e01

3 years agoMerge "fix(errata): workaround for Cortex-A710 erratum 2371105" into integration
Madhukar Pappireddy [Wed, 20 Jul 2022 12:38:01 +0000 (14:38 +0200)]
Merge "fix(errata): workaround for Cortex-A710 erratum 2371105" into integration

3 years agoMerge "feat(versal): resolve the misra 10.1 warnings" into integration
Joanna Farley [Wed, 20 Jul 2022 10:09:20 +0000 (12:09 +0200)]
Merge "feat(versal): resolve the misra 10.1 warnings" into integration

3 years agofeat(versal): resolve the misra 10.1 warnings
Venkatesh Yadav Abbarapu [Wed, 20 Jul 2022 03:33:22 +0000 (09:03 +0530)]
feat(versal): resolve the misra 10.1 warnings

MISRA Violation: MISRA-C:2012 R.10.1
-The operand to the operator does not have an essentially unsigned type.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Change-Id: I9cde2f1ebceaad8a41c69489ef1d2e6f21f04ed1

3 years agofix(errata): workaround for Cortex-A710 erratum 2371105
Bipin Ravi [Tue, 12 Jul 2022 20:53:21 +0000 (15:53 -0500)]
fix(errata): workaround for Cortex-A710 erratum 2371105

Cortex-A710 erratum 2371105 is a cat B erratum that applies to
revisions r0p0 - r2p0 and is fixed in r2p1. The workaround is to
set bit[40] of CPUACTLR2_EL1 to disable folding of demand requests
into older prefetches with L2 miss requests outstanding.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1775101/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: I342b095b66f808bd6c066c20c581df5341bb7c2c

3 years agofix(errata): workaround for Cortex A78C erratum 2242638
Bipin Ravi [Fri, 15 Jul 2022 22:20:16 +0000 (17:20 -0500)]
fix(errata): workaround for Cortex A78C erratum 2242638

Cortex A78C erratum 2242638 is a Cat B erratum which applies to
revisions r0p1, r0p2 and is still open. The workaround is to apply
a CPU implementation specific specific patch sequence.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN2004089/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: I35d385245a04a39b87be71c1a42312f75e1152e5

3 years agoMerge "feat(versal): get the handoff params using IPI" into integration
Joanna Farley [Tue, 19 Jul 2022 13:20:46 +0000 (15:20 +0200)]
Merge "feat(versal): get the handoff params using IPI" into integration

3 years agoMerge "refactor(xilinx): move the atf handoff structure" into integration
Joanna Farley [Tue, 19 Jul 2022 13:20:41 +0000 (15:20 +0200)]
Merge "refactor(xilinx): move the atf handoff structure" into integration

3 years agoMerge "refactor(versal): move payload and module ID macros" into integration
Joanna Farley [Tue, 19 Jul 2022 13:20:33 +0000 (15:20 +0200)]
Merge "refactor(versal): move payload and module ID macros" into integration

3 years agoMerge "fix(mt8186): move SSPM base register definition to platform_def.h" into integr...
Olivier Deprez [Tue, 19 Jul 2022 08:30:30 +0000 (10:30 +0200)]
Merge "fix(mt8186): move SSPM base register definition to platform_def.h" into integration

3 years agofix(mt8186): move SSPM base register definition to platform_def.h
Yidi Lin [Fri, 8 Jul 2022 08:16:09 +0000 (16:16 +0800)]
fix(mt8186): move SSPM base register definition to platform_def.h

- move base register definition to platform_def.h for maintenance.
- SSPM_MBOX_3_BASE is redefined, use SSPM_MBOX_BASE instead.

Signed-off-by: Yidi Lin <yidilin@chromium.org>
Change-Id: Ibb0291ce7b7426068392e90bd70f29d1a90d5297

3 years agoMerge "refactor(fvp): add missing header guard in fvp_critical_data.h" into integration
Manish V Badarkhe [Mon, 18 Jul 2022 17:57:09 +0000 (19:57 +0200)]
Merge "refactor(fvp): add missing header guard in fvp_critical_data.h" into integration

3 years agorefactor(fvp): add missing header guard in fvp_critical_data.h
Sandrine Bailleux [Mon, 18 Jul 2022 10:58:59 +0000 (12:58 +0200)]
refactor(fvp): add missing header guard in fvp_critical_data.h

Change-Id: If7d1a9dd756164c8e31e29d9e36973f1a21fc8b6
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
3 years agoMerge "docs(security): update info on use of OpenSSL 3.0" into integration
Manish V Badarkhe [Mon, 18 Jul 2022 08:22:45 +0000 (10:22 +0200)]
Merge "docs(security): update info on use of OpenSSL 3.0" into integration

3 years agodocs(security): update info on use of OpenSSL 3.0
Juan Pablo Conde [Tue, 28 Jun 2022 20:56:32 +0000 (16:56 -0400)]
docs(security): update info on use of OpenSSL 3.0

OpenSSL 3.0 is a pre-requisite since v2.7 and can be installed
on the operating system by updating the previous version.
However, this may not be convenient for everyone, as some may
want to keep their previous versions of OpenSSL.

This update on the docs shows that there is an alternative to
install OpenSSL on the system by using a local build of
OpenSSL 3.0 and pointing both the build and run commands to
that build.

Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
Change-Id: Ib9ad9ee5c333f7b04e2747ae02433aa66e6397f3

3 years agoMerge "feat(tc): move start address for BL1 to 0x1000" into integration
Manish V Badarkhe [Fri, 15 Jul 2022 15:11:55 +0000 (17:11 +0200)]
Merge "feat(tc): move start address for BL1 to 0x1000" into integration

3 years agofeat(tc): move start address for BL1 to 0x1000
Anders Dellien [Wed, 13 Apr 2022 10:02:14 +0000 (11:02 +0100)]
feat(tc): move start address for BL1 to 0x1000

Locate BL1 at 0x1000 to compensate for the MCUBoot
header size.

Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Change-Id: I30a5ccf8212786479bff8286f3d0abb9dec4b7d0

3 years agoMerge "docs: re-parent BL2 platform hooks for measured boot" into integration
Sandrine Bailleux [Fri, 15 Jul 2022 05:26:10 +0000 (07:26 +0200)]
Merge "docs: re-parent BL2 platform hooks for measured boot" into integration

3 years agoMerge "fix(errata): workaround for Cortex-A78C 2132064" into integration
Madhukar Pappireddy [Thu, 14 Jul 2022 22:09:24 +0000 (00:09 +0200)]
Merge "fix(errata): workaround for Cortex-A78C 2132064" into integration

3 years agofix(errata): workaround for Cortex-A78C 2132064
laurenw-arm [Tue, 12 Jul 2022 15:43:52 +0000 (10:43 -0500)]
fix(errata): workaround for Cortex-A78C 2132064

Cortex-A78C erratum 2132064 is a cat B erratum that applies to revisions
r0p1 and r0p2 and is still open.

This patch implements workaround option 2 that places the data
prefetcher in the most conservative mode to greatly reduce prefetches
by writing the following bits to the value indicated:
ecltr[7:6], PF_MODE = 2'b11

SDEN can be found here:
https://developer.arm.com/documentation/SDEN2004089/latest

Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
Change-Id: Ica2561c1e257643c2482085447ef852fa62a1eb2

3 years agodocs: re-parent BL2 platform hooks for measured boot
Sandrine Bailleux [Wed, 13 Jul 2022 08:07:54 +0000 (10:07 +0200)]
docs: re-parent BL2 platform hooks for measured boot

bl2_plat_mboot_init/finish() functions documentation was incorrectly
hooked up to BL2U-specific section.

Change-Id: I758cb8142e992b0c85ee36d5671fc9ecd5bde29b
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
3 years agoMerge "build(changelog): add stm32mp13 and stm32mp15 fdts scopes" into integration
Manish Pandey [Tue, 12 Jul 2022 14:57:17 +0000 (16:57 +0200)]
Merge "build(changelog): add stm32mp13 and stm32mp15 fdts scopes" into integration

3 years agoMerge "fix(ufs): removes dp and run-stop polling loops" into integration
Madhukar Pappireddy [Tue, 12 Jul 2022 13:03:44 +0000 (15:03 +0200)]
Merge "fix(ufs): removes dp and run-stop polling loops" into integration

3 years agofix(ufs): removes dp and run-stop polling loops
anans [Tue, 12 Jul 2022 08:48:29 +0000 (08:48 +0000)]
fix(ufs): removes dp and run-stop polling loops

These polling loops are not required according to the spec

Signed-off-by: anans <anans@google.com>
Change-Id: I50d832ba495f30cc7a0553c84e58b747d51e0a4e

3 years agofeat(versal): get the handoff params using IPI
Venkatesh Yadav Abbarapu [Tue, 12 Jul 2022 03:49:03 +0000 (09:19 +0530)]
feat(versal): get the handoff params using IPI

Use the IPI command GET_HANDOFF_PARAM to get the TF-A handoff
params, rather than using the PLM's PPU RAM area. With this
approach this resolves the issue when XPPU is enabled.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Change-Id: I6828c391ad696d2d36e994684aa21b023711ba2d

3 years agorefactor(xilinx): move the atf handoff structure
Venkatesh Yadav Abbarapu [Tue, 12 Jul 2022 03:41:23 +0000 (09:11 +0530)]
refactor(xilinx): move the atf handoff structure

Move the ATF handoff structure from the plat_startup.c to the
header file plat_startup.h, as these can be used by the platform code.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Change-Id: Ifb425d444eb65fe8648952d2ff64d4e92c2b340a

3 years agorefactor(versal): move payload and module ID macros
Venkatesh Yadav Abbarapu [Tue, 12 Jul 2022 03:36:01 +0000 (09:06 +0530)]
refactor(versal): move payload and module ID macros

Move the payload and  module ID macros from the pm_api_sys.c file and
add it in the header file, as these macros can be used other than PM.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com>
Reviewed-by: Michal Simek <michal.simek@amd.com>
Change-Id: I678444b79ac3799a82bd93915e4639b3babf5fb9

3 years agoMerge changes Ie650728a,Ie2736ef4 into integration
Manish Pandey [Mon, 11 Jul 2022 11:08:18 +0000 (13:08 +0200)]
Merge changes Ie650728a,Ie2736ef4 into integration

* changes:
  refactor(stm32mp1-fdts): add missing spaces for consistent codestyle
  refactor(stm32mp1-fdts): drop unused DDR calibration result on DHCOM

3 years agoMerge "docs(prerequisites): fix "Build Host" title" into integration
Manish V Badarkhe [Mon, 11 Jul 2022 09:33:30 +0000 (11:33 +0200)]
Merge "docs(prerequisites): fix "Build Host" title" into integration

3 years agodocs(prerequisites): fix "Build Host" title
Sandrine Bailleux [Mon, 11 Jul 2022 08:53:42 +0000 (10:53 +0200)]
docs(prerequisites): fix "Build Host" title

Add an empty line just before the "Build Host" title.

Without this, the title is not properly recognized, it does not get
added to the table of contents and the underlining characters appear
as dashes, as can be seen here:

https://trustedfirmware-a.readthedocs.io/en/v2.7/getting_started/prerequisites.html#prerequisites

Change-Id: Ia89cf3de0588495cbe64b0247dc860619f5ea6a8
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
3 years agoMerge "fix(cpus): workaround for Neoverse-N2 erratum 2388450" into integration
Bipin Ravi [Fri, 8 Jul 2022 17:25:50 +0000 (19:25 +0200)]
Merge "fix(cpus): workaround for Neoverse-N2 erratum 2388450" into integration

3 years agoMerge "feat(cpus): add a64fx cpu to tf-a" into integration
Bipin Ravi [Fri, 8 Jul 2022 17:21:11 +0000 (19:21 +0200)]
Merge "feat(cpus): add a64fx cpu to tf-a" into integration

3 years agofeat(sve): support full SVE vector length
Mark Brown [Wed, 20 Apr 2022 17:14:32 +0000 (18:14 +0100)]
feat(sve): support full SVE vector length

Currently the SVE code hard codes a maximum vector length of 512 bits
when configuring SVE rather than the architecture supported maximum.
While this is fine for current physical implementations the architecture
allows for vector lengths up to 2048 bits and emulated implementations
generally allow any length up to this maximum.

Since there may be system specific reasons to limit the maximum vector
length make the limit configurable, defaulting to the architecture
maximum. The default should be suitable for most implementations since
the hardware will limit the actual vector length selected to what is
physically supported in the system.

Signed-off-by: Mark Brown <broonie@kernel.org>
Change-Id: I22c32c98a81c0cf9562411189d8a610a5b61ca12

3 years agobuild(changelog): add stm32mp13 and stm32mp15 fdts scopes
Yann Gautier [Fri, 8 Jul 2022 13:55:14 +0000 (15:55 +0200)]
build(changelog): add stm32mp13 and stm32mp15 fdts scopes

Some fdts changes in STM32MP1 family can be dedicated to one SoC,
STM32MP13 or STM32MP15. Add the dedicated scopes.

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I2d64244054251c1f89dfe1ebbf6ce9dac21d47b6

3 years agoMerge changes Iec22dcab,Ib88b4b5d,I50cd6b82,If1167785,I9b3a08ef, ... into integration
Madhukar Pappireddy [Fri, 8 Jul 2022 13:40:59 +0000 (15:40 +0200)]
Merge changes Iec22dcab,Ib88b4b5d,I50cd6b82,If1167785,I9b3a08ef, ... into integration

* changes:
  feat(imx8m): keep pu domains in default state during boot stage
  feat(imx8m): add the PU power domain support on imx8mm/mn
  feat(imx8m): add the anamix pll override setting
  feat(imx8m): add the ddr frequency change support for imx8m family
  feat(imx8mn): enable dram retention suuport on imx8mn
  feat(imx8mm): enable dram retention suuport on imx8mm
  feat(imx8m): add dram retention flow for imx8m family

3 years agorefactor(stm32mp1-fdts): add missing spaces for consistent codestyle
Johann Neuhauser [Fri, 8 Jul 2022 13:22:05 +0000 (15:22 +0200)]
refactor(stm32mp1-fdts): add missing spaces for consistent codestyle

Change-Id: Ie650728a0c671f553679b050afd969ce604ca111
Signed-off-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
3 years agorefactor(stm32mp1-fdts): drop unused DDR calibration result on DHCOM
Johann Neuhauser [Fri, 8 Jul 2022 13:18:43 +0000 (15:18 +0200)]
refactor(stm32mp1-fdts): drop unused DDR calibration result on DHCOM

Change-Id: Ie2736ef4c463c51d109c13e59f541fe65039d7c6
Signed-off-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
3 years agoMerge "feat(stm32mp15-fdts): add support for STM32MP157C based DHCOM SoM on PDK2...
Manish Pandey [Fri, 8 Jul 2022 12:48:18 +0000 (14:48 +0200)]
Merge "feat(stm32mp15-fdts): add support for STM32MP157C based DHCOM SoM on PDK2 board" into integration

3 years agofeat(stm32mp15-fdts): add support for STM32MP157C based DHCOM SoM on PDK2 board
Johann Neuhauser [Wed, 16 Feb 2022 16:12:34 +0000 (17:12 +0100)]
feat(stm32mp15-fdts): add support for STM32MP157C based DHCOM SoM on PDK2 board

This is an SoM in SODIMM-200 format on an evaluation board called
"DHCOM Premium Developer Kit #2" (DHCOM PDK2 for short). The SoM features an
STM32MP157C SoC with 1 GB DDR3, 8 GB eMMC, microSD and 2 MB SPI flash.
The baseboard has multiple UART, USB, SPI, and I2C ports/headers and several
other interfaces that are not important for TF-A.

These dts(i) files are based on DHCOM dt's from Linux 5.16 and U-Boot 2022.01.
The DRAM calibration values are taken from U-Boot 2022.01 and are optimized for
industrial temperature range above 85° C.

TF-A on this board was fully tested with the latest OP-TEE developer setup.

Change-Id: I696c01742954d761fbad312cd1059e3ab01fa93c
Signed-off-by: Johann Neuhauser <jneuhauser@dh-electronics.com>
3 years agoMerge "feat(libfdt): add function to set MAC addresses" into integration
Manish Pandey [Fri, 8 Jul 2022 11:29:58 +0000 (13:29 +0200)]
Merge "feat(libfdt): add function to set MAC addresses" into integration

3 years agoMerge "refactor(arm): add debug logs to show the reason behind skipping firmware...
Bipin Ravi [Thu, 7 Jul 2022 21:45:38 +0000 (23:45 +0200)]
Merge "refactor(arm): add debug logs to show the reason behind skipping firmware config loading" into integration

3 years agorefactor(arm): add debug logs to show the reason behind skipping firmware config...
Manish V Badarkhe [Mon, 20 Jun 2022 16:40:40 +0000 (17:40 +0100)]
refactor(arm): add debug logs to show the reason behind skipping firmware config loading

Added debug logs to show the reason behind skipping firmware
configuration loading, and also a few debug strings were corrected.
Additionally, a panic will be triggered if the configuration sanity
fails.

Change-Id: I6bbd67b72801e178a14cbe677a8831b25a907d0c
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
3 years agofix(ufs): add retries to ufs_read_capacity
Rohit Ner [Sat, 2 Jul 2022 11:52:40 +0000 (04:52 -0700)]
fix(ufs): add retries to ufs_read_capacity

This change replaces the polling loop with fixed number of retries,
returns error values and handles them in ufs_enum.

Signed-off-by: Rohit Ner <rohitner@google.com>
Change-Id: Ia769ef26703c7525091e55ff46aaae4637db933c

3 years agofix(cpus): workaround for Neoverse-N2 erratum 2388450
Daniel Boulby [Wed, 6 Jul 2022 13:33:13 +0000 (14:33 +0100)]
fix(cpus): workaround for Neoverse-N2 erratum 2388450

Neoverse-N2 erratum 2388450 is a cat B erratum that applies to
revision r0p0 and is fixed in r0p1. The workaround is to set
bit[40] of CPUACTLR2_EL1 to disable folding of demand requests into
older prefetches with L2 miss requests outstanding.

SDEN can be found here:
https://developer.arm.com/documentation/SDEN1982442/latest

Change-Id: I6dd949c79cea8dbad322e569aa5de86cf8cf9639
Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
3 years agoMerge "fix(morello): move BL31 to run from DRAM space" into integration
Manish V Badarkhe [Thu, 7 Jul 2022 13:28:13 +0000 (15:28 +0200)]
Merge "fix(morello): move BL31 to run from DRAM space" into integration

3 years agoMerge changes from topic "sgi-updates-jul-2022" into integration
Manish V Badarkhe [Thu, 7 Jul 2022 10:38:56 +0000 (12:38 +0200)]
Merge changes from topic "sgi-updates-jul-2022" into integration

* changes:
  feat(sgi): bump bl1 rw size
  refactor(sgi): rewrite address space size definitions

3 years agoMerge "feat(zynqmp): resolve the misra 10.1 warnings" into integration
Joanna Farley [Thu, 7 Jul 2022 10:22:19 +0000 (12:22 +0200)]
Merge "feat(zynqmp): resolve the misra 10.1 warnings" into integration

3 years agofeat(sgi): bump bl1 rw size
Vijayenthiran Subramaniam [Tue, 25 Jan 2022 17:29:10 +0000 (22:59 +0530)]
feat(sgi): bump bl1 rw size

Increase BL1 RW size by 16 KiB to accommodate for future development.

Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
Change-Id: I21626a97de4a6c98c25b93b9f79e16325c6e4349