Commit graph

11606 commits

Author SHA1 Message Date
Chris Kay
832df3cc3b docs(commit-style): fix incorrect instructions for adding scopes
Change-Id: I3ce7abd1c21b084dea6b618c603f71b5bb4c50e8
Signed-off-by: Chris Kay <chris.kay@arm.com>
2022-11-04 17:20:18 +01:00
Chris Kay
10c969c5bb docs(prerequisites): update Node.js prerequisites documentation
This change updates the version of the Node Version Manager suggested by
the prerequisites documentation. The NVM installation command line hint
has been replaced with the snippet provided by NVM's user guide, and the
second line now automatically installs a version of Node.js compatible
with TF-A's repository scripts.

Change-Id: I6ef5e504118238716ceb45a52083450c424c5d20
Signed-off-by: Chris Kay <chris.kay@arm.com>
2022-11-04 17:20:13 +01:00
Olivier Deprez
07217574af Merge changes from topic "hikey960-el3-spmc" into integration
* changes:
  feat(hikey960): read serial number from UFS
  feat(hikey960): add a FF-A logical partition
  feat(hikey960): add memory sharing hooks for SPMC_AT_EL3
  feat(hikey960): add plat-defines for SPMC_AT_EL3
  feat(hikey960): define a datastore for SPMC_AT_EL3
  feat(hikey960): add SP manifest for SPMC_AT_EL3
  feat(hikey960): increase secure workspace to 64MB
  feat(hikey960): upgrade to xlat_tables_v2
2022-11-04 10:47:54 +01:00
Manish Pandey
65f32fe652 Merge "fix(build): fix arch32 build issue for clang" into integration 2022-11-04 10:42:17 +01:00
Bipin Ravi
49273098a5 fix(cpus): workaround for Cortex-A76 erratum 2743102
Cortex-A76 erratum 2743102 is a Cat B erratum that applies to
all revisions <=r4p1 and is still open. The workaround is to
insert a dsb before the isb in the power down sequence.

SDEN documentation:
https://developer.arm.com/documentation/SDEN885749/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: Ie2cd73bd91417d30b5633d80b2fbee32944bc2de
2022-11-03 14:50:58 -05:00
Bipin Ravi
8ce40503ad fix(cpus): workaround for Neoverse N1 erratum 2743102
Neoverse N1 erratum 2743102 is a Cat B erratum that applies to
all revisions <=r4p1 and is still open. The workaround is to
insert a dsb before the isb in the power down sequence.

SDEN documentation:
https://developer.arm.com/documentation/SDEN885747/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: I81a8793c1a118764df3ac97b67f5e088f56f6a20
2022-11-03 14:47:04 -05:00
Joanna Farley
5b044227c1 Merge "style(linker_script): fix indentation" into integration 2022-11-03 18:01:20 +01:00
Manish Pandey
4415676d3f Merge "feat(drtm): add DRTM parameters structure version check" into integration 2022-11-03 17:56:35 +01:00
Bharath N
39fdd3d85d feat(qti): updated soc version for sc7180 and sc7280
SMCCC_GET_SOC_VERSION SMC will return soc id to distinguish
different varaints in sc7180 and sc7280

Signed-off-by: Bharath N <quic_bharn@quicinc.com>
Change-Id: I72ea4bdb8193c816ba249c1e0755784c9b9bb7da
2022-11-03 16:29:13 +05:30
Manish V Badarkhe
c503ded2c5 feat(drtm): add DRTM parameters structure version check
Added DRTM parameters structure version check that as per
the current released DRTM specification [1].

Mainly to cater below mentioned in the specification [1]
section 3.12 -
For a given DRTM major version number this structure will
always be extended in a backwards compatible manner.

[1]: https://developer.arm.com/documentation/den0113/a

Change-Id: I9f312c7f9f20152c5d7e40a22b462c7fe8db70bc
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2022-11-02 23:04:01 +01:00
Olivier Deprez
6b2193bd48 Merge changes from topic "el3-spmc" into integration
* changes:
  fix(el3-spmc): error handling in allocation
  fix(el3-spmc): deadlock when relinquishing memory
  fix(el3-spmc): compute full FF-A V1.1 desc size
2022-11-02 19:47:31 +01:00
Manish V Badarkhe
78927ef61a Merge "chore(docs): update supported FVP models doc" into integration 2022-11-02 15:51:49 +01:00
Arthur Cassegrain
c371b83f0c feat(hikey960): read serial number from UFS
Serial number is written into UFS by fastboot
Pass BL2 params to BL31 (serial number)

Change-Id: I9a490db07ca10088da69191a2f2c1621d44a278c
Signed-off-by: vallau01 <valentin.laurent@trustonic.com>
Signed-off-by: Lukas Hanel <lukas.hanel@trustonic.com>
2022-11-02 15:35:03 +01:00
Lukas Hanel
25a357f193 feat(hikey960): add a FF-A logical partition
Required to compile with SPMC_AT_EL3=1
Copied from FVP, sample code for platforms

Change-Id: I7d8a4d8846a328b05cf45a5044802ea3e2f7fb67
Signed-off-by: Lukas Hanel <lukas.hanel@trustonic.com>
2022-11-02 15:35:03 +01:00
vallau01
5f905a2498 feat(hikey960): add memory sharing hooks for SPMC_AT_EL3
These allows a platform to do any System-MMU/IOMMU configuration
in line with FF-A memory sharing.

Change-Id: Id517759198421a32c5d16bf5bb99590275e77736
Signed-off-by: vallau01 <valentin.laurent@trustonic.com>
Signed-off-by: Lukas Hanel <lukas.hanel@trustonic.com>
2022-11-02 15:35:03 +01:00
Lukas Hanel
feebd4c7a8 feat(hikey960): add plat-defines for SPMC_AT_EL3
To use SPMC_AT_EL3, a platform must define a few configuration
options. Copied them from fvp platform to hikey960.

Change-Id: Ifd60d69bf79f2f340fe93fe030ab8c538b3a56e4
Signed-off-by: vallau01 <valentin.laurent@trustonic.com>
Signed-off-by: Lukas Hanel <lukas.hanel@trustonic.com>
2022-11-02 15:35:03 +01:00
Lukas Hanel
e618c621b3 feat(hikey960): define a datastore for SPMC_AT_EL3
Kinibi now has 60MB (instead of 64MB).
Increase XLAT tables for BL31

Change-Id: I6843d26198a7d8bdb812e394e4482b1c35afa4c0
Signed-off-by: vallau01 <valentin.laurent@trustonic.com>
Signed-off-by: Lukas Hanel <lukas.hanel@trustonic.com>
2022-11-02 15:35:03 +01:00
Lukas Hanel
6971642d23 feat(hikey960): add SP manifest for SPMC_AT_EL3
The purpose of this patch is to show silicon partners how to upgrade
existing TF-A port to include a manifest that is required with FF-A.

The manifest values are consumed by TF-A SPMC_AT_EL3 and by the TEE.

Change-Id: Ied81187d6b1cfb72ad2e9020dfc19ad73d80186f
Signed-off-by: Cedric Chan <cedric.chan@trustonic.com>
Signed-off-by: vallau01 <valentin.laurent@trustonic.com>
Signed-off-by: Lukas Hanel <lukas.hanel@trustonic.com>
2022-11-02 15:35:00 +01:00
vallau01
cee8bb3b38 fix(el3-spmc): error handling in allocation
Error check must be done on the previously allocated pointer, not a
random one from the code.

Change-Id: I1c8253eacbe778cc4a9a8d71081fc615fa7e5293
Signed-off-by: Lukas Hanel <lukas.hanel@trustonic.com>
2022-11-02 15:15:59 +01:00
vallau01
ac568b2bcc fix(el3-spmc): deadlock when relinquishing memory
Do not forget to pass via err_unlock_mailbox: label.

Change-Id: Icfb997b1c7cce196003af2c28bffc50dc73e30b4
Signed-off-by: Lukas Hanel <lukas.hanel@trustonic.com>
2022-11-02 15:15:59 +01:00
vallau01
be075c3edf fix(el3-spmc): compute full FF-A V1.1 desc size
This patch fixes an issue in spmc_ffa_fill_desc.

In order to compute the spmc_shm_get_v1_1_descriptor_size,
fragment_length which is a fraction of the descriptor size is used as
desc_size parameter. It has to be replaced with the
full V1.0 descriptor size(obj->desc_filled).

Ran a subset of our tests and they are passing.

Change-Id: Ia4bbc5dabf0b77fa53d923ff609ee48ecd5bf549
Signed-off-by: vallau01 <valentin.laurent@trustonic.com>
Signed-off-by: Lukas Hanel <lukas.hanel@trustonic.com>
2022-11-02 15:15:59 +01:00
Madhukar Pappireddy
b139f8527e Merge "feat(imx8mm): add BL31 PIE support" into integration 2022-11-01 15:16:07 +01:00
Madhukar Pappireddy
c41a196f56 Merge "refactor(imx8mm): introduce BL2_SIZE and BL31_SIZE" into integration 2022-11-01 15:16:03 +01:00
Madhukar Pappireddy
473bed8ffd Merge "refactor(imx8mm): make use of setup_page_tables()" into integration 2022-11-01 15:15:52 +01:00
Madhukar Pappireddy
a213c27ba7 Merge "refactor(imx8mm): cleanup the mmap region settings" into integration 2022-11-01 15:15:45 +01:00
Madhukar Pappireddy
d81fc8e60e Merge "feat(imx8mn): add BL31 PIE support" into integration 2022-11-01 15:15:04 +01:00
Madhukar Pappireddy
89cb9c579e Merge "refactor(imx8mn): introduce BL31_SIZE" into integration 2022-11-01 15:14:58 +01:00
Madhukar Pappireddy
ebaf46c8e3 Merge "refactor(imx8mn): make use of setup_page_tables()" into integration 2022-11-01 15:14:53 +01:00
Madhukar Pappireddy
d907a04988 Merge "refactor(imx8mn): cleanup the mmap region settings" into integration 2022-11-01 15:14:48 +01:00
Madhukar Pappireddy
5178175c50 Merge "feat(imx8mp): add BL31 PIE support" into integration 2022-11-01 15:14:41 +01:00
Madhukar Pappireddy
c564d817e4 Merge "refactor(imx8mp): introduce BL2_SIZE and BL31_SIZE" into integration 2022-11-01 15:14:36 +01:00
Madhukar Pappireddy
2668742c87 Merge "refactor(imx8mp): make use of setup_page_tables()" into integration 2022-11-01 15:14:30 +01:00
Madhukar Pappireddy
f8f2440fdc Merge "refactor(imx8mp): cleanup the mmap region settings" into integration 2022-11-01 15:14:25 +01:00
Madhukar Pappireddy
8f93151aac Merge "feat(imx8m): make psci common code pie compatible" into integration 2022-11-01 15:14:16 +01:00
Madhukar Pappireddy
0f0a9dbfa7 Merge "fix(imx8m): fix dram retention fsp_table access" into integration 2022-11-01 15:14:10 +01:00
Manish Pandey
0ccce52362 Merge "fix(mediatek): switch console to runtime state before leaving BL31" into integration 2022-11-01 12:44:02 +01:00
laurenw-arm
08a12c11b7 chore(docs): update supported FVP models doc
Update supported models list according to changes for v2.8 release in
ci/tf-a-ci-scripts repository

Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
Change-Id: Ica7e062db77237220bcd861837f392496db1653a
2022-10-31 15:25:37 -05:00
Manish Pandey
6325f661c2 Merge "build: deprecate Arm rdn1edge and sgi575 FVP platforms" into integration 2022-10-31 11:23:45 +01:00
Manish V Badarkhe
9900d4eb06 Merge changes from topic "db/deps" into integration
* changes:
  feat(compiler-rt): update compiler-rt source files
  fix(deps): add missing aeabi_memcpy.S
  feat(zlib): update zlib source files
  docs(changelog): add zlib and compiler-rt scope
  feat(libfdt): upgrade libfdt source files
  docs(prerequisites): upgrade to Mbed TLS 2.28.1
2022-10-28 15:56:28 +02:00
Olivier Deprez
77a53b8fe4 Merge changes from topic "ffa_el3_spmc" into integration
* changes:
  docs(spm): add threat model for el3 spmc
  docs(spm): add design documentation
2022-10-28 10:22:39 +02:00
Sandrine Bailleux
e3dcd5078a Merge "fix(aarch64): make AArch64 FGT feature detection more robust" into integration 2022-10-28 08:15:46 +02:00
Bipin Ravi
92b62c16b7 Merge changes I7d3a97df,I5935b4bc,I9a325c5b,Ie29bd3a5,Iebb90cf2 into integration
* changes:
  fix(cpus): workaround for Cortex-A710 erratum 2291219
  fix(cpus): workaround for Cortex-X3 erratum 2313909
  fix(cpus): workaround for Neoverse-N2 erratum 2326639
  fix(rpi3): tighten platform pwr_domain_pwr_down_wfi behaviour
  chore: rename Makalu ELP to Cortex-X3
2022-10-27 19:21:46 +02:00
Madhukar Pappireddy
f1a583836b Merge "fix(imx8m): update poweroff related SNVS_LPCR bits only" into integration 2022-10-27 15:24:57 +02:00
Boyan Karatotev
888eafa00b fix(cpus): workaround for Cortex-A710 erratum 2291219
Cortex-A710 erratum 2291219 is a Cat B erratum that applies to revisions
r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to set
CPUACTLR2_EL1[36] to 1 before the power down sequence that sets
CORE_PWRDN_EN. This allows the cpu to retry the power down and prevents
the deadlock. TF-A never clears this bit even if it wakes up from the
wfi in the sequence since it is not expected to do anything but retry to
power down after and the bit is cleared on reset.

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

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I7d3a97dfac0c433c0be386c1f3d2f2e895a3f691
2022-10-27 13:46:52 +01:00
Boyan Karatotev
7954412694 fix(cpus): workaround for Cortex-X3 erratum 2313909
Cortex-X3 erratum 2313909 is a Cat B erratum that applies to revisions
r0p0 and r1p0, and is fixed in r1p1. The workaround is to set
CPUACTLR2_EL1[36] to 1 before the power down sequence that sets
CORE_PWRDN_EN. This allows the cpu to retry the power down and prevents
the deadlock. TF-A never clears this bit even if it wakes up from the
wfi in the sequence since it is not expected to do anything but retry to
power down after and the bit is cleared on reset.

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

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I5935b4bcd1e6712477c0d6eab2acc96d7964a35d
2022-10-27 13:46:52 +01:00
Boyan Karatotev
43438ad1ad fix(cpus): workaround for Neoverse-N2 erratum 2326639
Neoverse-N2 erratum 2326639 is a Cat B erratum that applies to revision
r0p0 and is fixed in r0p1. The workaround is to set CPUACTLR2_EL1[36] to
1 before the power down sequence that sets CORE_PWRDN_EN. This allows
the cpu to retry the power down and prevents the deadlock. TF-A never
clears this bit even if it wakes up from the wfi in the sequence since
it is not expected to do anything but retry to power down after and the
bit is cleared on reset.

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

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I9a325c5b9b498798e5efd5c79a4a6d5bed97c619
2022-10-27 13:46:52 +01:00
Boyan Karatotev
028c4e42d8 fix(rpi3): tighten platform pwr_domain_pwr_down_wfi behaviour
Platforms which implement pwr_domain_pwr_down_wfi differ substantially
in behaviour. However, different cpus require similar sequences to power
down. This patch tightens the behaviour of these platforms to end on a
wfi loop after performing platform power down. This is required so that
platforms behave more consistently on power down, in cases where the wfi
can fall through.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Ie29bd3a5e654780bacb4e07a6d123ac6d2467c1f
2022-10-27 13:46:02 +01:00
Shruti Gupta
20155112c5 docs(spm): add threat model for el3 spmc
Threat model for EL3 SPMC.
The mitigations are based on the guidance
provided in FF-A v1.1 EAC0 spec.

Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
Change-Id: I7f4c9370b6eefe6d1a7d1afac27e8b3a7b476072
2022-10-27 11:40:02 +01:00
Shruti Gupta
4090ac33f4 docs(spm): add design documentation
Add documentation how to build EL3 SPMC,
briefly describes all FF-A interfaces,
SP boot flow, SP Manifest, Power Management,
Boot Info Protocol, Runtime model and state
transition and Interrupt Handling.

Signed-off-by: Shruti Gupta <shruti.gupta@arm.com>
Change-Id: I630df1d50a4621b344a09e462563eacc90109de4
2022-10-27 11:39:53 +01:00
Boyan Karatotev
cf58b2d41c chore: rename Makalu ELP to Cortex-X3
The Cortex-X3 cpu port was developed before its public release when it
was known as Makalu ELP. Now that it's released we can use the official
product name.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Iebb90cf2f77330ed848a3d61c5f6928942189c5a
2022-10-27 09:41:00 +01:00