Commit graph

13706 commits

Author SHA1 Message Date
Manish V Badarkhe
9873580997 docs(changelog): changelog for v2.10 release
Added changelog for v2.10 release.

Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
Change-Id: Id06263047fcc1ec60e82f85cd09e2e4bc95830f5
2023-11-22 11:52:02 +00:00
Manish Pandey
ccd8c0230c Merge "Revert "docs(changelog): changelog for v2.10 release"" into integration 2023-11-21 14:46:50 +01:00
Manish Pandey
256c1c60e0 Revert "docs(changelog): changelog for v2.10 release"
This reverts commit 0abbfab320.

Reason for revert: Changelog was based on rc0 tag but we got few more patches after that which were not captured.

Change-Id: I9829f2b6dc09f0bd5c538845cbae051f6e4c8a75
2023-11-21 14:37:29 +01:00
Sandrine Bailleux
b54f7376b2 Merge "docs(threat-model): add a threat model for TF-A with Arm CCA" into integration 2023-11-21 10:34:42 +01:00
Manish Pandey
61647ed4a9 Merge "refactor(tc): deprecate Arm TC1 FVP platform" into integration 2023-11-21 10:17:06 +01:00
Bipin Ravi
b8a01c9903 Merge "docs(changelog): changelog for v2.10 release" into integration 2023-11-20 21:25:25 +01:00
Manish V Badarkhe
6a2b11c29d refactor(tc): deprecate Arm TC1 FVP platform
Arm has made the strategic decision to deprecate the TC1 platform.
Consequently, software development and the creation of fast models
for the TC1 platform have been officially discontinued.
The TC1 platform, now considered obsolete, has been succeeded by
the TC2 platform. It's noteworthy that the TC2 platform is already
integrated and supported in both TF-A and CI repositories.

Change-Id: Ia196a5fc975b4dbf3c913333daf595199968d95d
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2023-11-20 20:17:24 +00:00
Juan Pablo Conde
0abbfab320 docs(changelog): changelog for v2.10 release
Change-Id: I44b88c3232d099b85ff71ee14c4918c4f8180146
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>
2023-11-20 09:31:32 -06:00
Manish Pandey
d840ae5dca Merge changes from topic "hm/rt-instr" into integration
* changes:
  docs(juno): update PSCI instrumentation data
  docs(n1sdp): update N1SDP PSCI instrumentation data
2023-11-20 11:37:27 +01:00
Manish Pandey
10b545b23d Merge "docs: add a section for experimental build options" into integration 2023-11-20 11:22:07 +01:00
Sandrine Bailleux
4281d02f6e Merge "docs(fvp): update model version documentation" into integration 2023-11-16 15:03:40 +01:00
Olivier Deprez
48856003bf docs: add a section for experimental build options
A number of features are marked experimental in the build system through
makefiles but there wasn't an explicit document to list them.
Added a dedicated experimental build options section and moved
existing experimental build option descriptions in this section.

Restoring the change from [1] removing the experimental flag on the EL3
SPMC (this has been lost in rebasing a later change).

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

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I2c458c6857c347114b265404e8b9ede9ac588463
2023-11-16 10:43:04 +01:00
Manish Pandey
539c29a87b Merge "fix(docs): update maintainers list" into integration 2023-11-16 10:13:29 +01:00
Bipin Ravi
9766f41d3c fix(docs): update maintainers list
As part of the release process, revisit the list of maintainers to
keep it updated.

Change-Id: Ifdbbe0d0dd1c8db3e5fbc84affcceb6d3c7716d4
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
2023-11-15 10:50:57 -06:00
Chris Kay
7064d20a49 docs(fvp): update model version documentation
This change updates the model versions that we claim to be testing with
to reflect what the reality in the CI.

Change-Id: Ieb44f3f21cd0ba7149d47f7688698831c9eab487
Signed-off-by: Chris Kay <chris.kay@arm.com>
2023-11-15 15:46:14 +00:00
Manish Pandey
f15f360cfc Merge "refactor(qemu): change way how we enable cpu features" into integration 2023-11-14 22:45:04 +01:00
Marcin Juszkiewicz
a97f4665d1 refactor(qemu): change way how we enable cpu features
We have to handle wide selection of cpu cores in one TF-A binary:
- v8.0: a53, a57, a72
- v8.2: a55, a76, n1
- v8.4: v1
- v9.0: a710, n2

And then we have QEMU's hybrid: 'max' which has everything QEMU can
emulate.

TF-A for QEMU platforms was built for v8.5 architecture. But turned out
that 'max' has v8.7 flag now (HCX) which we need to have. And this
enabled set of mandatory features which made TF-A not-bootable on
v8.0/8.2 cpus.

So I decided to follow Arm FVP way and do build for v8.0 with set of
feature flags enabled. This way we have bare minimum to make v8.0 cpus
boot. And then all features from newer cores are enabled with runtime
check which makes them boot.

Tested with BSA/SBSA ACS and Debian Linux 6.5 kernel.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Change-Id: Ib87bdab992536c65ce0747ce1520682eafc18d39
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2023-11-14 17:59:22 +02:00
Harrison Mutai
94276a569e docs(juno): update PSCI instrumentation data
Change-Id: Iadbaf3d52c5e86f53b05c09e2decce3c089ab83c
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2023-11-14 14:38:16 +00:00
Harrison Mutai
fe7d06a679 docs(n1sdp): update N1SDP PSCI instrumentation data
Change-Id: I11c747acfdd376668b44a116258ee75e8cba214d
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2023-11-14 14:21:39 +00:00
Joanna Farley
d1cfbc25c5 Merge changes from topic "od/hf-doc-migration" into integration
* changes:
  docs(spm-mm): remove reference to SEL2 SPMC
  docs: remove SEL2 SPMC threat model
  docs: remove unused SPM related diagrams
2023-11-14 09:52:12 +01:00
Sandrine Bailleux
446354122c docs(threat-model): add a threat model for TF-A with Arm CCA
Arm Confidential Compute Architecture (Arm CCA) support, underpinned by
Arm Realm Management Extension (RME) support, brings in a few important
software and hardware architectural changes in TF-A, which warrants a
new security analysis of the code base. Results of this analysis are
captured in a new threat model document, provided in this patch.

The main changes introduced in TF-A to support Arm CCA / RME are:

 - Presence of a new threat agent: realm world clients.

 - Availability of Arm CCA Hardware Enforced Security (HES) to support
   measured boot and trusted boot.

 - Configuration of the Granule Protection Tables (GPT) for
   inter-world memory protection.

This is only an initial version of the threat model and we expect to
enrich it in the future.

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Co-authored-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: Iab84dc724df694511508f90dc76b6d469c4cccd5
2023-11-14 09:21:31 +01:00
Sandrine Bailleux
dcbf3a1173 Merge "docs(threat-model): cover threats inherent to receiving data over UART" into integration 2023-11-14 08:43:42 +01:00
Manish V Badarkhe
5e52433dd6 Merge "build(mbedtls): add deprecation notice" into integration 2023-11-13 20:01:39 +01:00
Manish V Badarkhe
24ef3a3146 Merge "refactor(auth): remove return_if_error() macro" into integration 2023-11-13 20:01:22 +01:00
Sandrine Bailleux
575c146962 refactor(auth): remove return_if_error() macro
The usage of this macro hinders the accuracy of code coverage
data. Lines of code calling this macro always appear as covered because
the test condition within it always gets executed; however, the branch
is not necessarily taken. Consequently, we lose branch coverage
information on these error code paths.

Besides, it is debatable whether such a simple macro really improves
code readability or on the contrary obfuscates the code...

For these reasons, this patch inlines the macro code everywhere it was
called.

It also adds some error messages in all these places to help narrowing
down authentication failures. These messages only get displayed and
compiled into the binaries when building TF-A with 'LOG_VERBOSE' level
of verbosity. We use the same message string everywhere in order to
limit the memory footprint increase for 'LOG_VERBOSE' builds.

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: I461078bb8c6fd6811d2cbefbe3614e17e83796f2
2023-11-13 16:07:21 +01:00
Govindraj Raja
267c106f02 build(mbedtls): add deprecation notice
Add a deprecation notice for building TF-A with mbedtls-2.x
This was notified earlier in TF-A mailing list:

https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.org/message/YDPOPASMGEQBCOI5TKUSD3V3J75NAT7A/

We will be removing support to build TF-A with mbedtls-2.x after
TF-A 2.10 release.

Change-Id: I669b423ee9af9f5c5255fce370413fffaf38e8eb
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2023-11-13 08:49:58 -06:00
Sandrine Bailleux
348446ad2a docs(threat-model): cover threats inherent to receiving data over UART
TF-A supports reading input data from UART interfaces. This opens up
an attack vector for arbitrary data to be injected into TF-A, which is
not covered in the threat model right now.

Fill this gap by:

 - Updating the data flow diagrams. Data may flow from the UART into
   TF-A (and not only the other way around).

 - Documenting the threats inherent to reading untrusted data from a
   UART.

Change-Id: I508da5d2f7ad5d20717b958d76ab9337c5eca50f
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2023-11-13 10:28:24 +01:00
Manish Pandey
e7781c84e9 Merge "fix(arm): correct the SPMC_AT_EL3 condition" into integration 2023-11-08 18:53:03 +01:00
Olivier Deprez
d910b37039 Merge "fix(xlat): set MAX_PHYS_ADDR to total mapped physical region" into integration 2023-11-08 16:35:18 +01:00
Manish Pandey
9c473d888a Merge "fix(intel): update boot scratch cold register to use cold 8" into integration 2023-11-08 15:52:18 +01:00
Manish Pandey
31a815db1a Merge changes from topic "sb/remove-cryptocell" into integration
* changes:
  chore(npcm845x): remove CryptoCell-712/713 support
  chore(auth)!: remove CryptoCell-712/713 support
2023-11-08 15:26:38 +01:00
Sandrine Bailleux
03baf340b2 Merge "docs(qemu): mention a55 in list of v8.2 cores" into integration 2023-11-08 14:54:14 +01:00
Sandrine Bailleux
7f26777702 Merge "build(qemu): use xlat tables v2 directly" into integration 2023-11-08 13:49:52 +01:00
Sandrine Bailleux
0c5aafc652 chore(npcm845x): remove CryptoCell-712/713 support
CryptoCell-712 and CryptoCell-713 drivers have been deprecated. Remove
their usage on Nuvoton npcm845x platform (maintainers confirmed that
this removal is fine with them).

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: I0e3f3431558aaea1e0f2740e7088cdc155d06af2
2023-11-08 13:42:34 +01:00
Marcin Juszkiewicz
70524d3df6 build(qemu): use xlat tables v2 directly
Both qemu and qemu-sbsa use xlat tables v2 already (activated by including it 
in common/common.mk) so there is no need to include compat headers.

Change-Id: I353a6f77f5916862e54b883a9adbba027ac81359
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2023-11-08 13:22:06 +02:00
Marcin Juszkiewicz
c41b16eadb docs(qemu): mention a55 in list of v8.2 cores
Change-Id: Ib3a1711be323023cf111373111f39038fa23fb6f
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2023-11-08 11:54:42 +01:00
Manish V Badarkhe
a0ef1c0ef0 fix(arm): correct the SPMC_AT_EL3 condition
Addressed the SPMC_AT_EL3 condition by using '#if' instead of
'#if defined'. This change is warranted because the SPMC_AT_EL3
option is always defined.

Change-Id: I76d9b8d502f452c58bc0040745d642cbe11dc8eb
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2023-11-08 09:33:23 +00:00
Sandrine Bailleux
b65dfe40ae chore(auth)!: remove CryptoCell-712/713 support
CryptoCell-712 and CryptoCell-713 drivers have been deprecated since
TF-A v2.9 and their removal was announced for TF-A v2.10 release.
See [1].

As the release is approaching, this patch deletes these drivers' code as
well as all references to them in the documentation and Arm platforms
code (Nuvoton platform is taken care in a subsequent patch). Associated
build options (ARM_CRYPTOCELL_INTEG and PLAT_CRYPTOCELL_BASE) have also
been removed and thus will have no effect if defined.

This is a breaking change for downstream platforms which use these
drivers.

[1] https://trustedfirmware-a.readthedocs.io/en/v2.9/about/release-information.html#removal-of-deprecated-drivers
    Note that TF-A v3.0 release later got renumbered into v2.10.

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Change-Id: Idabbc9115f6732ac1a0e52b273d3380677a39813
2023-11-08 10:42:33 +02:00
Sandrine Bailleux
dde37f2d76 Merge "build(qemu-sbsa): it is GICv3 platform" into integration 2023-11-08 08:14:26 +01:00
Manish Pandey
d4f5063337 Merge changes Ia72b2542,I1eba5671 into integration
* changes:
  chore(compiler-rt): update compiler-rt source files
  chore(zlib): update zlib to version 1.3
2023-11-07 17:56:50 +01:00
Manish Pandey
2f306f892e Merge "chore(libfdt): update header files to v1.7.0 tag" into integration 2023-11-07 17:25:56 +01:00
Manish Pandey
e5e39c3514 Merge "refactor(cm): introduce INIT_UNUSED_NS_EL2 macro" into integration 2023-11-07 17:24:56 +01:00
Olivier Deprez
5e86ba2138 Merge "fix(el3-spmc): remove experimental flag" into integration 2023-11-07 16:02:02 +01:00
Manish V Badarkhe
c1701c8ec9 Merge changes from topic "ns/spmc_at_el3" into integration
* changes:
  feat(sgi): increase sp memmap size
  feat(build): include plat header in fdt build
  feat(docs): save BL32 image base and size in entry point info
  feat(arm): save BL32 image base and size in entry point info
2023-11-07 15:47:44 +01:00
Olivier Deprez
e0c7d8f56c Merge "fix(smccc): ensure that mpidr passed through SMC is valid" into integration 2023-11-07 13:35:30 +01:00
Olivier Deprez
630a06c4c6 fix(el3-spmc): remove experimental flag
The EL3 SPMC is known to be deployed into end products and properly
tested since its introduction into TF-A v2.7.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I96bb897cfefef20c33cfc39627b10746dce5485c
2023-11-07 12:14:47 +01:00
Nishant Sharma
7c33bcab59 feat(sgi): increase sp memmap size
With FF-A enabled on SP at SEL0 enabled, SPMC at EL3 needs more entries
to map newly added regions(SP, Rx/Tx buffer and Manifest).

Increase the PLAT_SP_IMAGE_MMAP_REGIONS to 14 and MAX_XLAT_TABLES to 9.

Signed-off-by: Sayanta Pattanayak <sayanta.pattanayak@arm.com>
Signed-off-by: Nishant Sharma <nishant.sharma@arm.com>
Change-Id: I96fd291db8eb178f7aa73b5a9e38cfc67c66fa91
2023-11-07 10:36:53 +00:00
Nishant Sharma
e03dcc8f5e feat(build): include plat header in fdt build
Include platform headers in DT build to enable build time configuration
of number of execution context supported by the platform.

Signed-off-by: Nishant Sharma <nishant.sharma@arm.com>
Change-Id: I5b9ffc9865f198a1f802fcb5e0950a5fabb48727
2023-11-07 10:36:53 +00:00
Nishant Sharma
31dcf23451 feat(docs): save BL32 image base and size in entry point info
There is no platform function to retrieve the info in the generic code.
Populate the BL32 image base, size and max limit in arg2, arg3 and arg4.

Signed-off-by: Nishant Sharma <nishant.sharma@arm.com>
Change-Id: I35527fb41829102083b488a5150c0c707c5ede15
2023-11-07 10:36:53 +00:00
Nishant Sharma
821b01fa75 feat(arm): save BL32 image base and size in entry point info
There is no platform function to retrieve the info in the generic code.
Populate the BL32 image base, size and max limit in arg2, arg3 and arg4.

Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Nishant Sharma <nishant.sharma@arm.com>
Change-Id: Id41cedd790ca1713787e5516fb84666d1ccb0b03
2023-11-07 10:36:53 +00:00