Commit graph

6657 commits

Author SHA1 Message Date
Manish V Badarkhe
dea307fd6c refactor(fvp): remove RSS usage
Removed RSS usage from the Base AEM FVP platform, as it wasn't
functional on this platform. The Base AEM FVP platform lacks
support for RSS.
Instead, the TC2 platform with RSS is available for actual RSS
interface implementation and testing.

Change-Id: I8f68157319399ab526f9e851b26dba903db5c2e7
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
2023-11-14 09:52:11 +02:00
Manish Pandey
e7781c84e9 Merge "fix(arm): correct the SPMC_AT_EL3 condition" into integration 2023-11-08 18:53:03 +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
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
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
Marcin Juszkiewicz
b54dfb5d33 build(qemu-sbsa): it is GICv3 platform
GICV2_G0_FOR_EL3 variable is only for GICv2 platforms.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Change-Id: Ibf9376caabbc05ceef4f870d816e6c60a344f895
2023-11-06 20:39:32 +02:00
Joanna Farley
1684c8d6a1 Merge changes from topic "enable_assertion" into integration
* changes:
  feat(zynqmp): enable assertion
  feat(versal-net): enable assertion
  feat(versal): enable assertion
2023-11-06 17:55:20 +01:00
Madhukar Pappireddy
9ac3bcdd9a Merge "fix(ti): release lock in all TI-SCI xfer return paths" into integration 2023-11-06 15:50:27 +01:00
Joanna Farley
bfb8d8eba6 Merge "feat(xilinx): switch boot console to runtime" into integration 2023-11-06 14:55:07 +01:00
Joanna Farley
d5fe7088ce Merge "feat(zynqmp): remove pm_ioctl_set_sgmii_mode api" into integration 2023-11-06 09:21:54 +01:00
Andrew Davis
e92375e07c fix(ti): release lock in all TI-SCI xfer return paths
Failing to send a message is often not fatal and we will end up trying
to send again. This would fail as some exit paths do not release the
secure proxy xfer lock. Release this lock on all return paths.

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I3939015774f819572dbd26720b2c105fba7574cb
2023-11-03 14:46:47 -05:00
Manish V Badarkhe
9bb15ab53a Merge changes from topic "morello/firmware-revision" into integration
* changes:
  feat(morello): add TF-A version string to NT_FW_CONFIG
  feat(morello): set NT_FW_CONFIG properties for MCC, PCC and SCP version
2023-11-03 14:31:40 +01:00
Joanna Farley
dd532b9e1d Merge changes from topic "xlnx_tsp_feat" into integration
* changes:
  docs(versal-net): add TSP build documentation
  docs(versal): add TSP build documentation
  feat(versal-net): add tsp support
  feat(versal): add tsp support
  refactor(xilinx): add generic TSP makefile
  chore(zynqmp): reorganize tsp code into common path
  refactor(xilinx): rename platform function to generic name
2023-11-03 14:29:49 +01:00
Jit Loon Lim
655af4f492 fix(intel): update boot scratch cold register to use cold 8
Boot scratch cold 8 register is fully used by n5x.
Update to use boot scratch cold 8 bit 19 register for cpu0 ON/OFF
indicator.

Change-Id: I45ebfdcc17c47bcce69f5f611e677ac7838ecf52
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
2023-11-03 20:03:45 +08:00
Werner Lewis
f4e64d1f5e feat(morello): add TF-A version string to NT_FW_CONFIG
TF-A version string is passed into NT_FW_CONFIG to allow access in
UEFI.

Signed-off-by: Werner Lewis <werner.lewis@arm.com>
Change-Id: I9da7b93d30c9d9230ea9a2cd2730cde897ffc580
2023-11-03 09:30:52 +00:00
Werner Lewis
10fd85d8f4 feat(morello): set NT_FW_CONFIG properties for MCC, PCC and SCP version
SDS firmware version structure is added with MCC, PCC and SCP firmware
version members. These are set in NT_FW_CONFIG to provide access to
firmware version information in UEFI.

Signed-off-by: Werner Lewis <werner.lewis@arm.com>
Change-Id: Ib0c476e54ef428fb7904f0de5c6f4df6a5fbd7db
2023-11-03 09:30:52 +00:00
Ronak Jain
7414aaa1a1 feat(zynqmp): remove pm_ioctl_set_sgmii_mode api
There are no existing users of pm_ioctl_set_sgmii_mode() API so
cleanup the dead code.

Change-Id: I1088d2f5c944bf54fc5fdd554360bdd321ad798a
Signed-off-by: Ronak Jain <ronak.jain@amd.com>
2023-11-03 01:54:46 -07:00
Manish Pandey
6f802c44e9 Merge changes from topic "mp/exceptions" into integration
* changes:
  docs(ras): update RAS documentation
  docs(el3-runtime): update BL31 exception vector handling
  fix(el3-runtime): restrict lower el EA handlers in FFH mode
  fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT
  fix(ras): restrict ENABLE_FEAT_RAS to have only two states
  feat(ras): use FEAT_IESB for error synchronization
  feat(el3-runtime): modify vector entry paths
2023-11-02 14:34:53 +01:00
Prasad Kummari
639b3676cc feat(versal-net): add tsp support
Introduces support for the Test Secure Payload (TSP) for AMD-Xilinx
Versal NET platform. TSP is a component for testing  and validating
secure OS and trusted execution environments.

If a BL32 image is present, then there must be a matching Secure-EL1
Payload Dispatcher (SPD) service called TSPD, this service is
responsible for Initializing the TSP. During initialization that
service must register a function to carry out initialization of BL32
once the runtime services are fully initialized. BL31 invokes such
a registered function to initialize BL32 before running BL33.

The GICv3 driver is initialized in EL3 and does not need to be
initialized again in SEL1 GICv3 driver is initialized in EL3 This is
because the S-EL1 can use GIC system registers to manage interrupts
and does not need GIC interface base addresses to be configured.

The secure code load address is initially being pointed to 0x0 in the
handoff parameters, which is different from the default or user-provided
load address of 0x60000000. In this case, set up the PC to the
requested BL32_BASE address to ensure that the secure code is loaded
and executed from the correct location.

Change-Id: I58fe256dc9d6be5cee384c5ebb9baca2737c02a6
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
2023-11-02 11:56:32 +05:30
Prasad Kummari
7ff4d4fbe5 feat(versal): add tsp support
Introduces support for the Test Secure Payload (TSP) for AMD-Xilinx
Versal platform. TSP is a component for testing  and validating
secure OS and trusted execution environments.

If a BL32 image is present, then there must be a matching Secure-
EL1 Payload Dispatcher (SPD) service called TSPD, this service
is responsible for Initializing the TSP. During initialization that
service must register a function to carry out initialization of
BL32 once the runtime services are fully initialized. BL31 invokes
such a registered function to initialize BL32 before running BL33.

The GICv3 driver is initialized in EL3 and does not need to be
initialized again in SEL1 GICv3 driver is initialized in EL3
This is because the S-EL1 can use GIC system registers to manage
interrupts and does not need GIC interface base addresses to be
configured.

The secure code load address is initially being pointed to 0x0
in the handoff parameters, which is different from the default
or user-provided load address of 0x60000000. In this case, set up
the PC to the requested BL32_BASE address to ensure that the secure
code is loaded and executed from the correct location.

Change-Id: Ida0fc6467a10bfde8927ff9b3755a83f3e16f068
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
2023-11-02 06:04:56 +01:00
Prasad Kummari
0561070ebf refactor(xilinx): add generic TSP makefile
Updated the generic TSP makefile in the common path for reuse in
different platforms.

Change-Id: Idd14675bc547e0a4a95132653a181e7ff39a547a
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
2023-11-02 10:11:20 +05:30
Madhukar Pappireddy
857c764325 Merge changes from topic "fw-caps" into integration
* changes:
  feat(ti): query firmware for suspend capability
  feat(ti): add TI-SCI query firmware capabilities command support
  feat(ti): remove extra core counts in cluster 2 and 3
2023-11-01 21:26:33 +01:00
Manish Pandey
6bd79b13f8 fix(tegra): return correct error code for plat_core_pos_by_mpidr
The error code for plat_core_pos_by_mpidr() for an invalid mpidr should
be -1 as mandated by portig guide, but for tegra t186 return value is
PSCI_E_NOT_PRESENT (-7) even though the comment at top of function says
that it should return -1.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I2b69bc1a56f7966f21b2a3c89c515ebde41e3eb8
2023-11-01 19:41:32 +01:00
Manish Pandey
f87e54f73c fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT
This patch removes RAS_FFH_SUPPORT macro which is the combination of
ENABLE_FEAT_RAS and HANDLE_EA_EL3_FIRST_NS. Instead introduce an
internal macro FFH_SUPPORT which gets enabled when platforms wants
to enable lower EL EA handling at EL3. The internal macro FFH_SUPPORT
will be automatically enabled if HANDLE_EA_EL3_FIRST_NS is enabled.
FFH_SUPPORT along with ENABLE_FEAT_RAS will be used in source files
to provide equivalent check which was provided by RAS_FFH_SUPPORT
earlier. In generic code we needed a macro which could abstract both
HANDLE_EA_EL3_FIRST_NS and RAS_FFH_SUPPORT macros that had limitations.
Former was tied up with NS world only while the latter was tied to RAS
feature.

This is to allow Secure/Realm world to have their own FFH macros
in future.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: Ie5692ccbf462f5dcc3f005a5beea5aa35124ac73
2023-11-01 17:45:56 +00:00
Prasad Kummari
4c7abf85df chore(zynqmp): reorganize tsp code into common path
Reorganized TSP code into common folder, updated paths in
tsp-zynqmp.mk. Handling the return value of a console registration
function.

Change-Id: I848f17c3417b3e8c8cbd2058e9642ed13d121325
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
2023-11-01 21:26:03 +05:30
Prasad Kummari
51564354c9 refactor(xilinx): rename platform function to generic name
Refactor two platform specific functions, plat_versal_get_mmap() and
plat_versal_net_get_mmap(), to use a more generic function name
plat_get_mmap(). The function can be used in the common code to
obtain  memory region.

Change-Id: I3eeb24aff217eef30af60a7742cbebe9d3b2edce
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
2023-11-01 21:25:21 +05:30
Manish V Badarkhe
e712f92408 Merge changes from topic "hst/cs1k-add-gpt-support" into integration
* changes:
  feat(bl2): add gpt support
  fix(corstone-1000): modify boot device dependencies
  fix(corstone-1000): removing the signature area
2023-11-01 12:18:09 +01:00
Manish Pandey
970a4a8d8c fix(ras): restrict ENABLE_FEAT_RAS to have only two states
As part of migrating RAS extension to feature detection mechanism, the
macro ENABLE_FEAT_RAS was allowed to have dynamic detection (FEAT_STATE
2). Considering this feature does impact execution of EL3 and we need
to know at compile time about the presence of this feature. Do not use
dynamic detection part of feature detection mechanism.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I23858f641f81fbd81b6b17504eb4a2cc65c1a752
2023-11-01 11:11:38 +00:00
Harsimran Singh Tungal
6ed98c45db feat(bl2): add gpt support
This includes initialization of the partition with
the GPT_IMAGE_ID.

Change-Id: I51b09d82ff40207369d76011556f40169196af22
Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
2023-10-31 23:00:37 +01:00
Harsimran Singh Tungal
3ff5fc2b35 fix(corstone-1000): modify boot device dependencies
Modify boot device dependencies and remove the one's
which are not needed.

Change-Id: I71cd60558ab4bb5162afefad4f00d631c2308e72
Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
2023-10-31 23:00:31 +01:00
Manish Pandey
a0dab4f014 Merge "fix(build): remove handling of mandatory options" into integration 2023-10-31 20:48:15 +01:00
Manish Pandey
e8d60a31ad Merge changes from topic "hm/mpam" into integration
* changes:
  fix(build): convert tabs and ifdef comparisons
  fix(build): disable ENABLE_FEAT_MPAM for Aarch32
2023-10-31 20:47:19 +01:00
Manish V Badarkhe
6cc9495822 Merge "refactor(fvp): do not use RSS platform token and attestation key APIs" into integration 2023-10-31 17:25:07 +01:00
Harrison Mutai
a07b4590dd fix(build): disable ENABLE_FEAT_MPAM for Aarch32
Disable FEAT_MPAM support for Aarch32 as it is not supported, following
[1]. ENABLE_FEAT_MPAM is set to 2 by default for Aarch64 in
arch_features.mk, eliminating the need for duplication in the platform
makefile.

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

Change-Id: I1c8b6844254e00e6372900f1c87f995f292ae65c
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2023-10-31 14:57:34 +00:00
Harsimran Singh Tungal
5856a91a64 fix(corstone-1000): removing the signature area
The TF-M on the secure enclave side takes care of boot bank selection for our platform. The TF-A doesn't require to manage the boot bank, so,
removing the boot bank selection. TF-A doesn't expect the signature area so removed it from FIP partition

Change-Id: I298dd51fa068534c299c66b0e4c353819ea12a26
Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
2023-10-31 16:40:35 +02:00
Manish Pandey
fd7e32b810 Merge changes from topic "hm/post-image" into integration
* changes:
  refactor(fvp): move image handling into generic procedure
  refactor(bl2): make post image handling platform-specific
2023-10-31 12:59:37 +01:00
Amit Nagal
2243ba3c38 feat(zynqmp): enable assertion
Retain assertions in builds for TF-A run from DDR with
ENABLE_ASSERTIONS=1. It helps to catch programming errors
(e.g. bad argument provided by platform porting function)
code size change is 4k.
For debug builds, assertions are enabled by default.
The same change is done by Tegra: plat/nvidia/tegra/platform.mk.

Change-Id: I1790862616faddf68b4d533750722dad27cae269
Signed-off-by: Amit Nagal <amit.nagal@amd.com>
2023-10-31 14:34:21 +05:30
Amit Nagal
80cb4b1404 feat(versal-net): enable assertion
Retain assertions in release builds by building TF-A with
ENABLE_ASSERTIONS=1. It helps to catch programming errors
(e.g. bad argument provided by platform porting function)
in release builds as well.
code size change is 4k.
For debug builds, assertions are enabled by default.
The same change is done by Tegra: plat/nvidia/tegra/platform.mk

Change-Id: I0db4b82d42d115866a3ed43933edbfc46ac7406a
Signed-off-by: Amit Nagal <amit.nagal@amd.com>
2023-10-31 14:33:06 +05:30
Amit Nagal
0375188a3e feat(versal): enable assertion
Retain assertions in release builds by building TF-A with
ENABLE_ASSERTIONS=1. It helps to catch programming errors
(e.g. bad argument provided by platform porting function)
in release builds as well.
code size change is 4k.
For debug builds, assertions are enabled by default.
The same change is done by Tegra: plat/nvidia/tegra/platform.mk.

Change-Id: Ie801fa9a326596ebef71be870b95a3cf9077ad20
Signed-off-by: Amit Nagal <amit.nagal@amd.com>
2023-10-31 14:14:35 +05:30
Joanna Farley
83d304d99d Merge "fix(versal): type cast addresses to fix integer overflow" into integration 2023-10-30 19:28:38 +01:00
Govindraj Raja
1ca902a537 fix(build): remove handling of mandatory options
With commit@f5211420b(refactor(cpufeat): refactor arch feature build
options all mandatory options are enabled with
'make_helpers/arch_features.mk' so avoid enabling of mandatory features
in platform makefile.

Use correct Arch Major/Minor to get all the mandatory features enabled
by default.

Change-Id: Ia214aa75dc9caea949f697ecafb1ef1812c6d899
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
2023-10-30 17:28:17 +01:00