Commit graph

2735 commits

Author SHA1 Message Date
Arvind Ram Prakash
a57e18e433 feat(fpmr): disable FPMR trap
This patch enables support of FEAT_FPMR by enabling access
to FPMR register. It achieves it by setting the EnFPM bit of
SCR_EL3. This feature is currently enabled for NS world only.

Reference:
https://developer.arm.com/documentation/109697/2024_09/
Feature-descriptions/The-Armv9-5-architecture-extension?lang=en

Change-Id: I580c409b9b22f8ead0737502280fb9093a3d5dd2
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
2024-12-12 10:03:23 -06:00
Ryan Everett
95037029a7 docs(prerequisites): update mbedtls to version 3.6.2
This new update to the LTS branch of MbedTLS provides
the fix for a buffer underrun vulnerability. TF-A does
not use the previously vulnerable functions
`mbedtls_pk_write_key_der` or `mbedtls_pk_write_key_pem`.
Full patch notes to this MbedTLS update can be found at
https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.2.

Change-Id: Ibc4a8712c92019648fe0e75390cd3540d86b735d
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-12-09 15:59:58 +00:00
Manish Pandey
ae952c1e51 Merge "docs(auth): extrapolate on the functions within a CM" into integration 2024-12-09 15:34:29 +01:00
Ryan Everett
8edd6c6f45 docs(auth): extrapolate on the functions within a CM
Add descriptions for the various parameters for each
function.
Add more description to the example implementation.

Change-Id: I4b7a1ff38914d061e499c1b67e762a484688ee05
Signed-off-by: Ryan Everett <ryan.everett@arm.com>
2024-12-09 14:00:33 +00:00
Levi Yun
8953568a2d feat(lib): introduce Hob creation library
According to Platform Initialization (PI) Specification [1] and
discussion on edk2 mailing list [2],
StandaloneMm shouldn't create Hob but it should be passed from TF-A.
IOW, TF-A should pass boot information via HOB list to initialise
StandaloneMm properly.

And this HOB lists could be delivered via
    - SPM_MM: Transfer List according to the firmware handoff spec[3]

    - FF-A v1.1 >= : FF-A boot protocol.

This patch introduces a TF-A HOB creation library and
some of definitions which StandaloneMm requires to boot.

Link: https://uefi.org/sites/default/files/resources/PI_Spec_1_6.pdf [1]
Link: https://edk2.groups.io/g/devel/topic/103675962#114283 [2]
Link: https://github.com/FirmwareHandoff/firmware_handoff [3]
Signed-off-by: Levi Yun <yeoreum.yun@arm.com>
Change-Id: I5e0838adce487110206998a8b79bc3adca922cec
2024-12-06 13:26:31 +00:00
Levi Yun
6b68b4a42f feat(lib): modify Hob creation code imported from edk2
According to Platform Initialization (PI) Specification [1] and
Discussion on edk2 mailing list [2],
StandaloneMm shouldn't create Hob but it should be passed from TF-A.
IOW, TF-A should pass boot information via PHIT Hob to initialize
StandaloneMm properly.

This patch modifies Hob creation code from edk2 codebase
so that TF-A could create Hob information properly to boot StandaloneMm

Link: https://uefi.org/sites/default/files/resources/PI_Spec_1_6.pdf [1]
Link: https://edk2.groups.io/g/devel/topic/103675962#114283 [2]
Signed-off-by: Levi Yun <yeoreum.yun@arm.com>
Change-Id: I5e427b620d8006b118b266370bd08d4b0ff56a83
2024-12-06 13:26:31 +00:00
Gavin Liu
a65fadfbbd feat(mt8196): initialize platform for MediaTek MT8196
- Add basic platform setup.
- Add MT8196 documentation at docs/plat/.
- Add generic CPU helper functions.
- Add basic register address.
- Add timer driver configuration.

Change-Id: I07fcdeb785fcda4a955c11c39a345da4ad05ef04
Signed-off-by: Gavin Liu <gavin.liu@mediatek.com>
2024-12-02 09:20:48 +08:00
Manish V Badarkhe
3df50a0699 Merge changes from topic "rd1ae-bl32" into integration
* changes:
  feat(rd1ae): add Generic Timer in device tree
  docs(rd1ae): update documentation to include BL32
  feat(rd1ae): add support for OP-TEE SPMC
2024-11-29 13:33:05 +01:00
Ziad Elhanafy
428f4169ab docs(rd1ae): update documentation to include BL32
Update the boot sequence in the RD-1 AE documentation
to include BL32 (OP-TEE).

Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
Change-Id: I25fdc114bb71d3ad7e1bb2d845f758d6af037e3d
2024-11-29 10:17:47 +00:00
Yann Gautier
8f6ab4b5df Merge "docs(maintainers): update qti maintainer" into integration 2024-11-26 09:36:35 +01:00
Yann Gautier
480561f297 Merge "fix(docs): fix the indent and the build command for MT8188" into integration 2024-11-25 17:08:51 +01:00
Govindraj Raja
4ec2948fe3 Merge "docs(changelog): changelog for v2.12 release" into integration 2024-11-20 23:30:24 +01:00
Govindraj Raja
46bafc1769 Merge "docs: update build tool prerequisites" into integration 2024-11-20 18:11:52 +01:00
Govindraj Raja
8a48bca36d Merge "docs(tc): deprecate tc2 in documentation" into integration 2024-11-20 18:11:39 +01:00
Icen Zeyada
74606e76e2 docs(tc): deprecate tc2 in documentation
added a note to specify that tc2 has been deprecated

Change-Id: I7ab69a2560e0e56379f4e144d41da20671c1ca9d
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
2024-11-20 10:49:26 +00:00
Govindraj Raja
07a6a65443 docs(changelog): changelog for v2.12 release
Generated this change-log using below command:
npm run release -- --skip.commit --skip.tag --release-as 2.12.0

Change-Id: Idb74f6a31bf2691e7666e2738030d6f0e2b8c519
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-11-19 18:08:58 -06:00
Manish V Badarkhe
5699f84007 docs(fvp): update FVP model versions as per usage
Update the documentation to reflect the various FVP models
used in the OpenCI environment.

Change-Id: I6144ab7c41d3776421164125d07371dadc9252b5
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2024-11-19 20:29:17 +00:00
Harrison Mutai
40c0a64c6f docs: update build tool prerequisites
Bump `dtc`, `clang` and `sphinx` to reconcile our minimum requirements
with the versions used in CI.

Change-Id: Ia848b4bdd93dc833ea03eda5b002561468042f52
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-11-18 16:44:12 +00:00
Govindraj Raja
74c0783d1d Merge changes Ic92c2abf,Id9182f65 into integration
* changes:
  docs(juno): update PSCI instrumentation data
  docs(n1sdp): update PSCI instrumentation data
2024-11-18 17:19:56 +01:00
Govindraj Raja
7a444c3df7 Merge "docs(prerequisites): add Poetry installation instructions" into integration 2024-11-18 02:54:53 +01:00
Zachary Leaf
a0db5c74ab docs(juno): update PSCI instrumentation data
Update for v2.12 release based on v2.12-rc0

Change-Id: Ic92c2abfc65dc1e9f979564eecd65cb2c285cb25
Signed-off-by: Zachary Leaf <zachary.leaf@arm.com>
2024-11-15 13:16:28 +00:00
Zachary Leaf
012cc2cb61 docs(n1sdp): update PSCI instrumentation data
Update for v2.12 release based on v2.12-rc0

Change-Id: Id9182f65518c0b41d478d3f24edc3befbd9d2cf6
Signed-off-by: Zachary Leaf <zachary.leaf@arm.com>
2024-11-15 13:16:28 +00:00
Chris Kay
0c9cd67d56 docs(prerequisites): add Poetry installation instructions
This small change removes the footnote from Poetry that it is only used
for building documentation, as it is now used for some of the Python
tooling in the repository from the build system.

Additionally, add a link to the official installation guide for Poetry.

Change-Id: Ie36b7ecd8066cbf2a14a1085d84fa9bd9c4409ba
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-11-15 14:42:43 +02:00
Jayanth Dodderi Chidanand
0f3cd5150c docs(context-mgmt): add Root-Context documentation
* This patch adds some details on the EL3/Root-Context
  and its related interfaces.

* Additionally it updates the existing details on the
  interfaces, related to various CPU context entries which
  have been improvised recently.

Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Change-Id: I81a992fe09feca4dc3d579a48e54a4763425e052
2024-11-15 10:44:39 +00:00
Arvind Ram Prakash
918c5459dd docs(juno): update Juno tested SCP version to 2.15
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I29452d0abadf9b5980ca9680ca2c78080c4c33a0
2024-11-12 10:56:37 -06:00
Govindraj Raja
212993ae7c Merge "feat(cpufeat): add ENABLE_FEAT_LS64_ACCDATA" into integration 2024-11-06 21:56:22 +01:00
Andre Przywara
19d52a83b7 feat(cpufeat): add ENABLE_FEAT_LS64_ACCDATA
Armv8.6 introduced the FEAT_LS64 extension, which provides a 64 *byte*
store instruction. A related instruction is ST64BV0, which will replace
the lowest 32 bits of the data with a value taken from the ACCDATA_EL1
system register (so that EL0 cannot alter them).
Using that ST64BV0 instruction and accessing the ACCDATA_EL1 system
register is guarded by two SCR_EL3 bits, which we should set to avoid a
trap into EL3, when lower ELs use one of those.

Add the required bits and pieces to make this feature usable:
- Add the ENABLE_FEAT_LS64_ACCDATA build option (defaulting to 0).
- Add the CPUID and SCR_EL3 bit definitions associated with FEAT_LS64.
- Add a feature check to check for the existing four variants of the
  LS64 feature and detect future extensions.
- Add code to save and restore the ACCDATA_EL1 register on
  secure/non-secure context switches.
- Enable the feature with runtime detection for FVP and Arm FPGA.

Please note that the *basic* FEAT_LS64 feature does not feature any trap
bits, it's only the addition of the ACCDATA_EL1 system register that
adds these traps and the SCR_EL3 bits.

Change-Id: Ie3e2ca2d9c4fbbd45c0cc6089accbb825579138a
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2024-11-06 16:52:12 +01:00
Tamas Ban
50d9383bec build: install dependencies before doc build
Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I0448caa4e22c13d4dd821261642833d49ff7a234
2024-11-06 15:18:06 +01:00
Tamas Ban
9db2b059eb fix(docs): fix the example command for doc build
Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I8ee666ee4cd135d09380ce31751ddba9962ff831
2024-11-06 15:18:06 +01:00
Raghu Krishnamurthy
b226357bdb docs: el3 token signing
Add documentation for the feature where EL3 can be used to sign realm
attestation token requests using RMM_EL3_TOKEN_SIGN command.
This patch also adds documentation for the RMM_EL3_FEATURES features
command that can be used to discover support for features such as
RMM_EL3_TOKEN_SIGN.

Change-Id: Iab5a157761ed17931210c3702f813198fc9c4b3a
Signed-off-by: Raghu Krishnamurthy <raghupathyk@nvidia.com>
2024-11-06 14:38:28 +01:00
Tamas Ban
e4582e4247 feat(docs): add DPE to RSE desing doc
Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: Iec38be8a3eb93a54d9b5bc7db7a7ff8c126920ac
2024-11-04 17:28:15 +01:00
Tamas Ban
3849d272e3 feat(docs): add RSE provided mboot backends to the threat model
Add CCA Measured Boot and DPE measured boot backends to
the threat model.

Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Change-Id: I234a2400d00fea606c5312ebddf94e2624463ff8
2024-11-04 17:25:15 +01:00
Abhi Singh
07c2d18f4e feat(docs): update mboot threat model
Restructure Measured Boot threat model for more description and clarity:
- Add what critical assets are to be protected.
- Mention other attributes and the possible attacks.
- Rephrase the section that describes the Measured Boot backends.

Change-Id: I6577a56184992bf16f4aa1b773d1636781cbb049
Signed-off-by: Tamas Ban <tamas.ban@arm.com>
Signed-off-by: Abhi Singh <abhi.singh@arm.com>
2024-11-04 17:21:08 +01:00
Yidi Lin
cef56a5c6b fix(docs): fix the indent and the build command for MT8188
This patch includes
- Fix the indent.
- LD argument is no longer needed. Remove LD parameter from the build
  command.

Change-Id: I615704cf6f4b6fd9e37c047b18c40f00652e269d
Signed-off-by: Yidi Lin <yidilin@chromium.org>
2024-11-01 14:03:50 +08:00
Manish Pandey
8936321932 Merge "feat(d128): add support for FEAT_D128" into integration 2024-10-28 21:49:58 +01:00
Govindraj Raja
98e7a83e09 Merge "fix(mte): remove deprecated CTX_INCLUDE_MTE_REGS/FEAT_MTE" into integration 2024-10-25 16:37:34 +02:00
Govindraj Raja
306551362c feat(d128): add support for FEAT_D128
This patch disables trapping to EL3 when the FEAT_D128
specific registers are accessed by setting the SCR_EL3.D128En bit.

If FEAT_D128 is implemented, then FEAT_SYSREG128 is implemented.
With FEAT_SYSREG128 certain system registers are treated as 128-bit,
so we should be context saving and restoring 128-bits instead of 64-bit
when FEAT_D128 is enabled.

FEAT_SYSREG128 adds support for MRRS and MSRR instruction which
helps us to read write to 128-bit system register.
Refer to Arm Architecture Manual for further details.

Change the FVP platform to default to handling this as a dynamic option
so the right decision can be made by the code at runtime.

Change-Id: I1a53db5eac29e56c8fbdcd4961ede3abfcb2411a
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-10-24 14:51:55 -05:00
Sona Mathew
6f2b8810f6 fix(mte): remove deprecated CTX_INCLUDE_MTE_REGS/FEAT_MTE
Remove all instances of macros CTX_INCLUDE_MTE_REGS and FEAT_MTE
since these have been deprecated in v2.11

Change-Id: I7838a865755326f03668e43768140929a2d9e418
Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
2024-10-24 10:00:19 -05:00
Manish V Badarkhe
72447cad65 Merge "docs: add Govind as new TF-A maintainer" into integration 2024-10-22 13:53:51 +02:00
Olivier Deprez
cec6f11f40 docs: add Govind as new TF-A maintainer
Also update Raghu's email address.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: Icea15fa5eaf5413b0be7c42e8ef376cfeb9d5f27
2024-10-22 10:13:30 +02:00
Manish Pandey
b6f2e376a8 Merge "feat(sctlr2): add support for FEAT_SCTLR2" into integration 2024-10-16 16:58:04 +02:00
Manish Pandey
1cafc96f28 Merge "feat(the): add support for FEAT_THE" into integration 2024-10-16 15:36:33 +02:00
Govindraj Raja
368e4fa551 docs: update TF-A May'25 release dates
Tentatively updating the plan for TF-A v2.13 release in May'25.

Change-Id: I98abe5f72901b71179a1efe3762046756d5ab6ac
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-10-15 14:47:08 -05:00
Jayanth Dodderi Chidanand
4ec4e545c6 feat(sctlr2): add support for FEAT_SCTLR2
Arm v8.9 introduces FEAT_SCTLR2, adding SCTLR2_ELx registers.
Support this, context switching the registers and disabling
traps so lower ELs can access the new registers.

Change the FVP platform to default to handling this as a dynamic option
so the right decision can be made by the code at runtime.

Change-Id: I0c4cba86917b6b065a7e8dd6af7daf64ee18dcda
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-10-13 18:44:54 -05:00
Jayanth Dodderi Chidanand
6d0433f040 feat(the): add support for FEAT_THE
Arm v8.9 introduces FEAT_THE, adding Translation Hardening Extension
Read-Check-Write mask registers, RCWMASK_EL1 and RCWSMASK_EL1.
Support this, context switching the registers and disabling
traps so lower ELs can access the new registers.

Change the FVP platform to default to handling this as a dynamic option
so the right decision can be made by the code at runtime.

Change-Id: I8775787f523639b39faf61d046ef482f73b2a562
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2024-10-13 18:44:54 -05:00
Bharath N
cc0f5b0892 docs(maintainers): update qti maintainer
Add Saurabh Gorecha in qti maintainer

Change-Id: I24c8453288444ec9f60dca7c4019fd1635090b33
Signed-off-by: Bharath N <quic_bharn@quicinc.com>
2024-10-10 19:07:51 +05:30
Manish V Badarkhe
e0ac845e25 docs: deprecate Arm TC2 FVP platform
Arm has made the strategic decision to deprecate the TC2 platform. As
a result, software development and the creation of fast models for TC2
have been officially discontinued. The TC2 platform, now considered
obsolete, has been succeeded by the TC3 and TC4 platforms. Notably,
both TC3 and TC4 are already integrated into TF-A, with TC3 included
in the CI repository. Work to add CI support for TC4 is currently in
progress.

Change-Id: I4df3c3e947faa1849a0f4742593c604cb2ee43b9
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2024-10-08 15:03:55 +01:00
Manish V Badarkhe
a100a1c847 Merge "fix(cpus): workaround for Cortex-X4 erratum 3076789" into integration 2024-10-07 14:09:06 +02:00
Olivier Deprez
07e806add1 Merge "docs(build): update GCC to 13.3.Rel1 version" into integration 2024-10-07 11:59:06 +02:00
Manish V Badarkhe
26467bf3ec Merge changes from topic "rd1ae-upstream" into integration
* changes:
  docs(rd1ae): add RD-1 AE documentation
  feat(rd1ae): enabling Trusted Board Boot(TBB) for RD-1 AE
  feat(rd1ae): introduce BL31 for RD-1 AE platform
  feat(rd1ae): add device tree files
  feat(rd1ae): introduce Arm RD-1 AE platform
  build(bl2): enable check for bl2 base overflow assert
  feat(arm): add support for loading CONFIG from BL2
2024-10-01 14:16:35 +02:00