]> git.baikalelectronics.ru Git - arm-tf.git/log
arm-tf.git
3 years agofeat(intel): support version 2 SiP SVC SMC function ID for non-mailbox commands
Sieu Mun Tang [Wed, 11 May 2022 02:45:19 +0000 (10:45 +0800)]
feat(intel): support version 2 SiP SVC SMC function ID for non-mailbox commands

A separated SMC function ID of non-mailbox command
is introduced for the new format of SMC protocol.

The new format of SMC procotol will be started
using by Zephyr.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I01cff2739364b1bda2ebb9507ddbcef6095f5d29

3 years agofix(intel): update certificate mask for FPGA Attestation
Boon Khai Ng [Mon, 30 Aug 2021 07:05:49 +0000 (15:05 +0800)]
fix(intel): update certificate mask for FPGA Attestation

Update the certificate mask to 0xff to cover all certificate
in Agilex family.

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Id40bc3aa4b3e4f7568a58581bbb03a75b0f20a0b

3 years agofeat(intel): update to support maximum response data size
Sieu Mun Tang [Wed, 11 May 2022 02:23:13 +0000 (10:23 +0800)]
feat(intel): update to support maximum response data size

Update to support maximum (4092 bytes) response data size.
And, clean up the intel_smc_service_completed function to
directly write the response data to addr to avoid additional
copy.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I0a230e73c563d22e6999ad3473587b07382dacfe

3 years agofeat(intel): support ECDSA HASH Verification
Sieu Mun Tang [Tue, 10 May 2022 09:53:32 +0000 (17:53 +0800)]
feat(intel): support ECDSA HASH Verification

Supporting the command to send digital signature verification
request on a data blob. This include ECC algorithm such as
NISP P-256, NISP P-384, Brainpool 256 and, Branpool 384

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Ic86f531bfe7cc7606699f2b064ac677aaf806a76

3 years agofeat(intel): support ECDSA HASH Signing
Sieu Mun Tang [Tue, 10 May 2022 09:50:30 +0000 (17:50 +0800)]
feat(intel): support ECDSA HASH Signing

Supporting the command to send digital signature signing
request on a data blob. This include ECC algorithm such as
NISP P-256, NISP P-384, Brainpool 256 and, Branpool 384

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I12cf0f1ceaf07c33a110eae398d3ad82a9b13d38

3 years agofeat(intel): support ECDH request
Sieu Mun Tang [Tue, 10 May 2022 09:48:11 +0000 (17:48 +0800)]
feat(intel): support ECDH request

This command sends the request on generating a share secret on
Diffie-Hellman key exchange.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Ic7c8470cf036ea8c17bf87401f49936950b3e1d6

3 years agofeat(intel): support ECDSA SHA-2 Data Signature Verification
Sieu Mun Tang [Wed, 11 May 2022 02:16:40 +0000 (10:16 +0800)]
feat(intel): support ECDSA SHA-2 Data Signature Verification

This command support ECC based signature verification on a blob.
Supported ECC algorithm are NISP P-256, NISP P-384, Brainpool 256
and Brainpool 384.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I7f43d2a69bbe6693ec1bb90f32b817cf00f9f5ae

3 years agofeat(intel): support ECDSA SHA-2 Data Signing
Sieu Mun Tang [Tue, 10 May 2022 09:39:26 +0000 (17:39 +0800)]
feat(intel): support ECDSA SHA-2 Data Signing

This command support ECC based signing on a blob. Supported ECC algorithm
are NISP P-256, NISP P-384, Brainpool 256 and Brainpool 384.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I82f95ddafa6b62f8cd882fce9a3e63e469c85067

3 years agofeat(intel): support ECDSA Get Public Key
Sieu Mun Tang [Tue, 10 May 2022 09:36:32 +0000 (17:36 +0800)]
feat(intel): support ECDSA Get Public Key

To support the ECDSA feature and send the command
as a request to get the public key

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I9d7bb5b6ab8ef7d4f3ceb21ff0068baf3175a1ac

3 years agofeat(intel): support session based SDOS encrypt and decrypt
Sieu Mun Tang [Mon, 9 May 2022 08:05:58 +0000 (16:05 +0800)]
feat(intel): support session based SDOS encrypt and decrypt

Extends existing Secure Data Object Service (SDOS) encryption and
decryption mailbox command to include session id and context id. The
new format requires an opened crypto service session.

A separated SMC function ID is introduced for the new format and it is
only supported by Agilex.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I2627750e8337c1af66217e9cb45981a9e06e7d19

3 years agofeat(intel): support AES Crypt Service
Sieu Mun Tang [Tue, 10 May 2022 09:30:00 +0000 (17:30 +0800)]
feat(intel): support AES Crypt Service

Enable Support for AES Crypt Service to send request
to encrypt or decrypt a blob. Command will send a memory
location that SDM will read and also memory location that
SDM will write back after encryption or decryption operation.
Response will be sent back after the crypto operation is done,
and data is written back to the destination

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I86ea4ff64dda2fbb1000591e30fa8cb2640ce954

3 years agofeat(intel): support HMAC SHA-2 MAC verify request
Sieu Mun Tang [Tue, 10 May 2022 09:27:12 +0000 (17:27 +0800)]
feat(intel): support HMAC SHA-2 MAC verify request

This command sends request on checking the integrity and authenticity
of a blob by comparing the calculated MAC with tagged MAC. The
comparison result will be returned in response.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Ifefdf67f088d7612d2ec2459d71faf2ec8181222

3 years agofeat(intel): support SHA-2 hash digest generation on a blob
Sieu Mun Tang [Tue, 10 May 2022 09:24:05 +0000 (17:24 +0800)]
feat(intel): support SHA-2 hash digest generation on a blob

This command is to request the SHA-2 hash digest on a blob.
If input has a key, the output shall be key-hash digest.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I08cb82d89a8e8f7bfe04f5f01e079ea49fe38cf5

3 years agofeat(intel): support extended random number generation
Sieu Mun Tang [Tue, 10 May 2022 09:18:19 +0000 (17:18 +0800)]
feat(intel): support extended random number generation

The random number generation (RNG) mailbox command format
is updated to extends the support to upto 4080 bytes random
number generation. The new RNG format requires an opened
crypto service session.

A separated SMC function ID is introduced for the new RNG
format and it is only supported by Agilex.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I3f044a3c01ff7cb50be4705e2c1f982bf6f61432

3 years agofeat(intel): support crypto service key operation
Sieu Mun Tang [Mon, 9 May 2022 06:16:14 +0000 (14:16 +0800)]
feat(intel): support crypto service key operation

Support crypto service key operation mailbox commands through SMC.

Crypto service key operation begin by sending an open crypto service
session request to SDM firmware. Once successfully open the session,
send crypto service key management commands (import, export, remove
and get key info) with the associated session id to SDM firmware.
The crypto service key is required before perform any crypto service
(encryption, signing, etc). Last, close the session after finishes
crypto service. All crypto service keys associated with this session
will be erased by SDM firmware.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I02406533f38b9607eb1ec7e1395b9dc2d084a9e3

3 years agofeat(intel): support crypto service session
Sieu Mun Tang [Mon, 9 May 2022 04:08:42 +0000 (12:08 +0800)]
feat(intel): support crypto service session

Support crypto service open and close session mailbox commands through
SMC.

Crypto service support begin by sending an open crypto service session
request to SDM firmware. Last, close the session after finishes crypto
service. All crypto service parameters with this session will be erased
by SDM firmware.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I48968498bbd6f2e71791f4ed38dd5f369e171082

3 years agofeat(intel): extend attestation service to Agilex family
Sieu Mun Tang [Mon, 9 May 2022 02:48:53 +0000 (10:48 +0800)]
feat(intel): extend attestation service to Agilex family

This patch extends the functionality of FPGA Crypto Services (FCS) to
support FPGA Attestation feature in Agilex device.

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I3c2e29d2fa04d394e9f65d8143d7f4e57389cd02

3 years agofix(intel): flush dcache before sending certificate to mailbox
Boon Khai Ng [Tue, 25 May 2021 17:50:34 +0000 (01:50 +0800)]
fix(intel): flush dcache before sending certificate to mailbox

Due to the cache coherency issue the dcache need to flush
before sending the certificate to the mailbox

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I39d5144519d9c7308597698b4cbea1b8aba0a849

3 years agofix(intel): introduce a generic response error code
Sieu Mun Tang [Tue, 12 Apr 2022 07:00:13 +0000 (15:00 +0800)]
fix(intel): introduce a generic response error code

This patch will introduce a generic error code (0x3ff)
to be used in case where Secure Device Manager (SDM)
mailbox request is not failing (returns OK with no error
code) but BL31 instead wants to return error/reject
to the calling software. This value aligns with generic
error code implemented in SDM for consistency.

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I9894c7df8897fff9aa80970940a6f3f6bfa30bb7

3 years agofix(intel): allow non-secure access to FPGA Crypto Services (FCS)
Sieu Mun Tang [Fri, 6 May 2022 16:50:37 +0000 (00:50 +0800)]
fix(intel): allow non-secure access to FPGA Crypto Services (FCS)

Allows non-secure software to access FPGA Crypto Services (FCS)
through secure monitor calls (SMC).

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I805b3f650abf5e118e2c55e469866d5d0ca68048

3 years agofeat(intel): single certificate feature enablement
Sieu Mun Tang [Wed, 11 May 2022 02:01:54 +0000 (10:01 +0800)]
feat(intel): single certificate feature enablement

Extend the functionality of FPGA Crypto Service
(FCS) to support FPGA single certificate feature
so that the counter value can be updated with
only one preauthorized certificate

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Ibde87e4ee46367cf7f27f7bb0172838ab8766340

3 years agofeat(intel): initial commit for attestation service
Sieu Mun Tang [Wed, 11 May 2022 01:59:55 +0000 (09:59 +0800)]
feat(intel): initial commit for attestation service

This is to extend the functionality of FPGA Crypto Service (FCS)
to support FPGA Attestation feature in Stratix 10 device.

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Ib15783383dc9a06a2f0dc6dc1786f44b89f32cb1

3 years agofix(intel): update encryption and decryption command logic
Sieu Mun Tang [Wed, 11 May 2022 01:49:25 +0000 (09:49 +0800)]
fix(intel): update encryption and decryption command logic

This change is to re-align HPS cryption logic with
underlying Secure Device Manager's (SDM) mailbox API.

Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: I8fc90982d3cddceaf401c1a112ff8e20861bf4c5

3 years agoMerge "fix(errata): workaround for Cortex-A710 erratum 2008768" into integration
Bipin Ravi [Tue, 10 May 2022 20:49:06 +0000 (22:49 +0200)]
Merge "fix(errata): workaround for Cortex-A710 erratum 2008768" into integration

3 years agoMerge "fix(errata): workaround for Cortex-A78 erratum 2395406" into integration
Bipin Ravi [Tue, 10 May 2022 20:40:55 +0000 (22:40 +0200)]
Merge "fix(errata): workaround for Cortex-A78 erratum 2395406" into integration

3 years agoMerge "feat(intel): add support for F2S and S2F bridge SMC with mask to enable, disab...
Madhukar Pappireddy [Tue, 10 May 2022 18:17:51 +0000 (20:17 +0200)]
Merge "feat(intel): add support for F2S and S2F bridge SMC with mask to enable, disable and reset bridge" into integration

3 years agoMerge "fix(security): report CVE 2022 23960 missing for aarch32 A57 and A72" into...
Bipin Ravi [Tue, 10 May 2022 14:49:08 +0000 (16:49 +0200)]
Merge "fix(security): report CVE 2022 23960 missing for aarch32 A57 and A72" into integration

3 years agoMerge "feat(snprintf): add support for length specifiers" into integration
Madhukar Pappireddy [Tue, 10 May 2022 14:27:21 +0000 (16:27 +0200)]
Merge "feat(snprintf): add support for length specifiers" into integration

3 years agoMerge "fix(errata): workaround for Cortex-A78 erratum 2376745" into integration
Joanna Farley [Tue, 10 May 2022 13:57:27 +0000 (15:57 +0200)]
Merge "fix(errata): workaround for Cortex-A78 erratum 2376745" into integration

3 years agoMerge "fix(amu): limit virtual offset register access to NS world" into integration
Joanna Farley [Tue, 10 May 2022 13:55:05 +0000 (15:55 +0200)]
Merge "fix(amu): limit virtual offset register access to NS world" into integration

3 years agoMerge changes from topic "ffa_el3_spmc" into integration
Olivier Deprez [Tue, 10 May 2022 13:18:36 +0000 (15:18 +0200)]
Merge changes from topic "ffa_el3_spmc" into integration

* changes:
  feat(spmc): add helper to obtain a partitions FF-A version
  feat(spmd): enable SPMD to forward FFA_VERSION to EL3 SPMC
  feat(spmc): enable handling FFA_VERSION ABI
  feat(spmc): add helper function to obtain endpoint mailbox
  feat(spmc): add helper function to obtain hyp structure
  feat(spmc): enable parsing of messaging methods from manifest

3 years agoMerge "fix(st): add missing header include" into integration
Manish Pandey [Tue, 10 May 2022 12:36:46 +0000 (14:36 +0200)]
Merge "fix(st): add missing header include" into integration

3 years agoMerge "fix(cm): add barrier before el3 ns exit" into integration
Olivier Deprez [Tue, 10 May 2022 12:15:51 +0000 (14:15 +0200)]
Merge "fix(cm): add barrier before el3 ns exit" into integration

3 years agofeat(spmc): add helper to obtain a partitions FF-A version
Marc Bonnici [Thu, 9 Dec 2021 11:32:30 +0000 (11:32 +0000)]
feat(spmc): add helper to obtain a partitions FF-A version

Add a helper function to obtain the FF-A version of a calling
partition. This is used to ensure that the SPMC maintains
backwards compatibility if the partition implements a lower
minor version for the same major version than the SPMC.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: I5b364a1e510a999bb0c4cacae28f23f8a42a1e3e

3 years agofeat(spmd): enable SPMD to forward FFA_VERSION to EL3 SPMC
Marc Bonnici [Wed, 8 Dec 2021 14:27:40 +0000 (14:27 +0000)]
feat(spmd): enable SPMD to forward FFA_VERSION to EL3 SPMC

In order to allow the EL3 SPMC to know the FF-A version of the
entity running in the normal world, allow the SPMD to
forward the call rather than replying on its behalf.

This solution works as the EL3 can ERET directly back to
the calling partition however this is not an option
when the SPMC resides in a lower exception level. A new
approach will be required to support such scenario.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: Ic2d6e49c06340167eadefe893c6e1e20b67ab498

3 years agofeat(spmc): enable handling FFA_VERSION ABI
Marc Bonnici [Wed, 8 Dec 2021 14:24:03 +0000 (14:24 +0000)]
feat(spmc): enable handling FFA_VERSION ABI

Report the SPMC version to the caller, currently v1.1 and
also store the requested version to allow the SPMC to
use the corresponding FF-A version in future ABI calls.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: I79aafd1e6694cbd4b231bbd0cac5834a71063d79

3 years agofeat(spmc): add helper function to obtain endpoint mailbox
Marc Bonnici [Wed, 24 Nov 2021 10:33:48 +0000 (10:33 +0000)]
feat(spmc): add helper function to obtain endpoint mailbox

Add a helper function to obtain the relevant mailbox buffers
depending on which entity was last run. This will be used in
subsequent functionality to populate requested information in
the callers RX buffer.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: I85959ced4d1454be05a7b3fb6853ed3ab7f0cf3e

3 years agofeat(spmc): add helper function to obtain hyp structure
Marc Bonnici [Wed, 24 Nov 2021 10:32:16 +0000 (10:32 +0000)]
feat(spmc): add helper function to obtain hyp structure

We assume that the first descriptor in the normal world
endpoints is reserved for the hypervisor and add a helper
function to enable retrieving this directly.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: I67c3589994eb820ef420db6ab7e8bd0825d64455

3 years agofeat(spmc): enable parsing of messaging methods from manifest
Marc Bonnici [Thu, 9 Dec 2021 18:34:02 +0000 (18:34 +0000)]
feat(spmc): enable parsing of messaging methods from manifest

Ensure that the `messaging-methods` entry is populated in
an SP's manifest. Currently only direct messaging is supported
so alert if this does not match the manifest entry.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: I67f1fad71a3507627993a004e0f8579388faf178

3 years agofeat(snprintf): add support for length specifiers
kadabi [Mon, 28 Feb 2022 22:21:09 +0000 (14:21 -0800)]
feat(snprintf): add support for length specifiers

Add long, long long and size_t length specifiers to
snprintf similar to vprintf. This will help capturing
all the UART logs into a logbuffer and makes snprintf
functionally equivalent to vprintf.

Change-Id: Ib9bd20e2b040c9b8755cf7ed7c9b4da555604810
Signed-off-by: Channagoud kadabi <kadabi@google.com>
3 years agofix(errata): workaround for Cortex-A78 erratum 2395406
John Powell [Tue, 3 May 2022 20:52:11 +0000 (15:52 -0500)]
fix(errata): workaround for Cortex-A78 erratum 2395406

Cortex-A78 erratum 2395406 is a cat B erratum that applies to revisions
r0p0 - r1p2 and is still open. The workaround is to set bit[40] of
CPUACTLR2 which will disable folding of demand requests into older
prefetches with L2 miss requests outstanding.

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

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: If06f988f05f925c2a4bed3e6a9414b6acdfec894

3 years agofix(errata): workaround for Cortex-A710 erratum 2008768
johpow01 [Wed, 9 Mar 2022 22:23:04 +0000 (16:23 -0600)]
fix(errata): workaround for Cortex-A710 erratum 2008768

Cortex-A710 erratum 2008768 is a Cat B erratum that applies to revisions
r0p0, r1p0, and r2p0, and is fixed in r2p1. The workaround is to clear
the ED bit in each ERXCTLR_EL1 register before setting the PWRDN bit in
CPUPWRCTLR_EL1.

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

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: Ib2171c06da762dd4155b02c03d86766f1616381d

3 years agofix(errata): workaround for Cortex-A78 erratum 2376745
John Powell [Tue, 3 May 2022 20:22:57 +0000 (15:22 -0500)]
fix(errata): workaround for Cortex-A78 erratum 2376745

Cortex-A78 erratum 2376745 is a cat B erratum that applies to revisions
r0p0 - r1p2 and is still open. The workaround is to set bit[0] of
CPUACTLR2 which will force PLDW/PFRM ST to behave like PLD/PRFM LD and
not cause invalidation to other PE caches.

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

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: I6f1a3a7d613c5ed182a7028f912e0f6ae3aa7f98

3 years agofix(cm): add barrier before el3 ns exit
Olivier Deprez [Mon, 9 May 2022 15:34:02 +0000 (17:34 +0200)]
fix(cm): add barrier before el3 ns exit

In cm_prepare_el3_exit_ns, SCR_EL3.NS bit change (to non-secure) is not
committed before the EL2 restoration sequence happens.
At ICC_SRE_EL2 write in cm_el2_sysregs_context_restore, NS is still 0
from CPU perspective (with EEL2=0) which is an invalid condition and
triggers a fault. By adding ISB, SCR_EL3 gets synced with NS=1/EEL2=0
before ICC_SRE_EL2 write.

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

3 years agoMerge changes Idfd268cd,I362445b9,Ibea052d3,I28cb8f74,I501ae76a, ... into integration
Manish Pandey [Mon, 9 May 2022 09:30:50 +0000 (11:30 +0200)]
Merge changes Idfd268cd,I362445b9,Ibea052d3,I28cb8f74,I501ae76a, ... into integration

* changes:
  feat(imx8mp): enable BL32 fdt overlay support on imx8mp
  feat(imx8mq): enable optee fdt overlay support
  feat(imx8mn): enable optee fdt overlay support
  feat(imx8mm): enable optee fdt overlay support
  feat(imx8mp): add trusty for imx8mp
  feat(imx8mq): enable trusty for imx8mq
  feat(imx8mn): enable Trusty OS for imx8mn
  feat(imx8mm): enable Trusty OS on imx8mm
  feat(imx8/imx8m): switch to xlat_tables_v2
  feat(imx8m): enable the coram_s tz by default on imx8mn/mp
  feat(imx8m): enable the csu init on imx8m
  feat(imx8m): add a simple csu driver for imx8m family
  refactor(imx8m): replace magic number with enum type
  feat(imx8m): add imx csu/rdc enum type defines for imx8m
  fix(imx8m): check the validation of domain id
  feat(imx8m): enable conditional build for SDEI

3 years agoMerge "feat(plat/imx8m): do not release JR0 to NS if HAB is using it" into integration
Manish Pandey [Mon, 9 May 2022 08:40:00 +0000 (10:40 +0200)]
Merge "feat(plat/imx8m): do not release JR0 to NS if HAB is using it" into integration

3 years agofeat(imx8mp): enable BL32 fdt overlay support on imx8mp
Jacky Bai [Fri, 27 Mar 2020 12:28:19 +0000 (20:28 +0800)]
feat(imx8mp): enable BL32 fdt overlay support on imx8mp

Allow OP-TEE to generate a device-tree overlay binary
that will be applied by u-boot on the regular dtb.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: Idfd268cdd8b7ba321f8e1b9b85c2bba7ffdeddf0

3 years agofeat(imx8mq): enable optee fdt overlay support
Silvano di Ninno [Wed, 25 Mar 2020 08:29:46 +0000 (09:29 +0100)]
feat(imx8mq): enable optee fdt overlay support

Enable optee fdt overlay support

Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I362445b93dc293a27c99b0d20a73f6b06ad0cd39

3 years agofeat(imx8mn): enable optee fdt overlay support
Silvano di Ninno [Wed, 25 Mar 2020 08:28:22 +0000 (09:28 +0100)]
feat(imx8mn): enable optee fdt overlay support

Enable optee fdt overlay support.

Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: Ibea052d35bf746475b8618b3a879eea80875333c

3 years agofeat(imx8mm): enable optee fdt overlay support
Silvano di Ninno [Wed, 25 Mar 2020 08:24:51 +0000 (09:24 +0100)]
feat(imx8mm): enable optee fdt overlay support

Enable optee fdt overlay support.

Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I28cb8f744236868727ef4a09d7d2946070404d4d

3 years agofeat(imx8mp): add trusty for imx8mp
Jacky Bai [Wed, 9 Sep 2020 08:23:32 +0000 (16:23 +0800)]
feat(imx8mp): add trusty for imx8mp

Add trusty support on i.MX8MP.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I501ae76ac35b8c059b3f0a9ce1d51ed13cbdbfe2

3 years agofeat(imx8mq): enable trusty for imx8mq
Ji Luo [Fri, 21 Feb 2020 03:19:49 +0000 (11:19 +0800)]
feat(imx8mq): enable trusty for imx8mq

Add trusty support for imx8mq, default load address
and size for trusty os will be 0xfe000000 and 0x2000000.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I2b35ee525b25b80bf6c9599a0adcc2d9f069aa41

3 years agofeat(imx8mn): enable Trusty OS for imx8mn
Ji Luo [Fri, 21 Feb 2020 08:32:53 +0000 (16:32 +0800)]
feat(imx8mn): enable Trusty OS for imx8mn

Add trusty support for imx8mn, default load address and
size of trusty are 0xbe000000 and 0x2000000.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I63fd5159027d7400b8c6bfc03193dd1330c43140

3 years agofeat(imx8mm): enable Trusty OS on imx8mm
Ji Luo [Fri, 21 Feb 2020 02:36:47 +0000 (10:36 +0800)]
feat(imx8mm): enable Trusty OS on imx8mm

Add trusty support for imx8mm, default load address
and size of trusty are 0xbe000000 anx 0x2000000.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I3f8b1adc08933e38a39f1ab1723947319d19a703

3 years agofeat(imx8/imx8m): switch to xlat_tables_v2
Ji Luo [Thu, 20 Feb 2020 15:47:21 +0000 (23:47 +0800)]
feat(imx8/imx8m): switch to xlat_tables_v2

spd trusty requires memory dynamic mapping feature to be
enabled, so we have to use xlat table library v2 instead
of v1.

Signed-off-by: Ji Luo <ji.luo@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I2813af9c7878b1fc2a59e27619c5b643af6a1e91

3 years agofeat(imx8m): enable the coram_s tz by default on imx8mn/mp
Jacky Bai [Fri, 16 Apr 2021 06:31:09 +0000 (14:31 +0800)]
feat(imx8m): enable the coram_s tz by default on imx8mn/mp

Enable the OCRAM_S TZ for secure protection by default on
i.MX8MN/i.MX8MP. And lock the ocram secure access configure
on i.MX8MM/i.MX8MP.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I2e24f4b823ee5f804415218d5c2e371f4e4c6fe1

3 years agofeat(imx8m): enable the csu init on imx8m
Jacky Bai [Tue, 7 Jan 2020 06:53:54 +0000 (14:53 +0800)]
feat(imx8m): enable the csu init on imx8m

Enable the CSU init on i.MX8M SoC family. The 'csu_cfg' array
is just a placeholder for now as example with limited config listed.
In real use case,user can add the CSU config as needed based on system design.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I1f7999efa346f18f6625ed8c478d088ed75f7833

3 years agofeat(imx8m): add a simple csu driver for imx8m family
Jacky Bai [Tue, 7 Jan 2020 06:39:15 +0000 (14:39 +0800)]
feat(imx8m): add a simple csu driver for imx8m family

Add a simple CSU driver for i.MX8M family.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I0eda3561e7a38a232acdb8e043c7200c630f7e22

3 years agorefactor(imx8m): replace magic number with enum type
Jacky Bai [Mon, 14 Mar 2022 09:14:26 +0000 (17:14 +0800)]
refactor(imx8m): replace magic number with enum type

Replace those RDC config related magic numbers with enum type

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I6245ccfa74d079179dc0f205980c2daf5c7af786

3 years agofeat(imx8m): add imx csu/rdc enum type defines for imx8m
Jacky Bai [Tue, 15 Mar 2022 02:29:09 +0000 (10:29 +0800)]
feat(imx8m): add imx csu/rdc enum type defines for imx8m

Add various enum type defines for CSU & RDC module for i.MX8M
family

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I70c050286919eab51c6c553912bd4be57bc60f81

3 years agofix(imx8m): check the validation of domain id
Jacky Bai [Thu, 31 Mar 2022 02:26:33 +0000 (10:26 +0800)]
fix(imx8m): check the validation of domain id

check the domain id to make sure it is in the valid range
to make sure no out of range access to the array.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: Iccd7298eea390b6e68156bb356226839a23417ea

3 years agofeat(imx8m): enable conditional build for SDEI
Jacky Bai [Mon, 28 Mar 2022 08:11:23 +0000 (16:11 +0800)]
feat(imx8m): enable conditional build for SDEI

SDEI support on imx8m is an optional feature, so
make it conditional build, not enabled by default.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I6e7e8d77959ea352bc019f8468793992ec7ecfc4

3 years agoMerge "feat(intel): add SMPLSEL and DRVSEL setup for Stratix 10 MMC" into integration
Madhukar Pappireddy [Fri, 6 May 2022 17:33:59 +0000 (19:33 +0200)]
Merge "feat(intel): add SMPLSEL and DRVSEL setup for Stratix 10 MMC" into integration

3 years agoMerge "feat(intel): implement timer init divider via cpu frequency. (#1)" into integr...
Manish Pandey [Fri, 6 May 2022 16:53:25 +0000 (18:53 +0200)]
Merge "feat(intel): implement timer init divider via cpu frequency. (#1)" into integration

3 years agoMerge "docs(maintainers): add new owners for Trusty SPD" into integration
Manish Pandey [Fri, 6 May 2022 16:51:26 +0000 (18:51 +0200)]
Merge "docs(maintainers): add new owners for Trusty SPD" into integration

3 years agofeat(plat/imx8m): do not release JR0 to NS if HAB is using it
Franck LENORMAND [Sun, 13 Jun 2021 12:38:01 +0000 (14:38 +0200)]
feat(plat/imx8m): do not release JR0 to NS if HAB is using it

In case JR0 is used by the HAB for secure boot, it can be used later
for authenticating kernel or other binaries.

We are checking if the HAB is using the JR by the DID set.

Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I6e9595012262ffabfc3f3d4841f446f34e48e059

3 years agodocs(maintainers): add new owners for Trusty SPD
Marco Nelissen [Wed, 6 Apr 2022 18:13:44 +0000 (11:13 -0700)]
docs(maintainers): add new owners for Trusty SPD

Split TLK/Trusty SPD into two separate components and add additional
owners for Trusty SPD.

Signed-off-by: Marco Nelissen <marcone@google.com>
Change-Id: Ifabd1bb630fe4976e304fa29eac1c516ec6e2e18

3 years agoMerge changes Iaf21883b,I523c5d57,I57164923 into integration
Manish Pandey [Fri, 6 May 2022 15:47:28 +0000 (17:47 +0200)]
Merge changes Iaf21883b,I523c5d57,I57164923 into integration

* changes:
  fix(ufs): read and write attribute based on spec
  fix(ufs): disables controller if enabled
  refactor(ufs): adds a function for fdeviceinit

3 years agofeat(intel): implement timer init divider via cpu frequency. (#1)
BenjaminLimJL [Wed, 6 Apr 2022 02:19:16 +0000 (10:19 +0800)]
feat(intel): implement timer init divider via cpu frequency. (#1)

Get cpu frequency and update the timer init div with it.
The timer is vary based on the cpu frequency instead of hardcoded.
The implementation shall apply to only Agilex and S10

Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
Change-Id: I61684d9762ad34e5a60b8b176b60c8848db4b422

3 years agoMerge "fix(st): fix NULL pointer dereference issues" into integration
Sandrine Bailleux [Fri, 6 May 2022 14:53:24 +0000 (16:53 +0200)]
Merge "fix(st): fix NULL pointer dereference issues" into integration

3 years agoMerge changes from topic "ffa_el3_spmc" into integration
Olivier Deprez [Fri, 6 May 2022 13:58:03 +0000 (15:58 +0200)]
Merge changes from topic "ffa_el3_spmc" into integration

* changes:
  feat(spmc): enable checking of execution ctx count
  feat(spmc): enable parsing of UUID from SP Manifest
  feat(spmc): add partition mailbox structs
  feat(plat/arm): allow BL32 specific defines to be used by SPMC_AT_EL3
  feat(plat/fvp): add EL3 SPMC #defines
  test(plat/fvp/lsp): add example logical partition
  feat(spmc/lsp): add logical partition framework

3 years agofix(st): add missing header include
Yann Gautier [Fri, 6 May 2022 13:27:32 +0000 (15:27 +0200)]
fix(st): add missing header include

This issue is triggered when enabling -Wmissing-prototypes:
plat/st/common/bl2_io_storage.c:114:5: warning: no previous prototype
 for 'open_fip' [-Wmissing-prototypes]
  114 | int open_fip(const uintptr_t spec)
      |     ^~~~~~~~
plat/st/common/bl2_io_storage.c:119:5: warning: no previous prototype
 for 'open_storage' [-Wmissing-prototypes]
  119 | int open_storage(const uintptr_t spec)
      |     ^~~~~~~~~~~~

Add missing stm32mp_io_storage.h header include, where those functions
prototypes are defined.

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

3 years agoMerge changes from topic "xlnx_zynqmp_misra" into integration
Manish Pandey [Fri, 6 May 2022 13:51:25 +0000 (15:51 +0200)]
Merge changes from topic "xlnx_zynqmp_misra" into integration

* changes:
  fix(zynqmp): resolve misra R14.4 warnings
  fix(zynqmp): resolve misra R16.3 warnings
  fix(zynqmp): resolve misra R15.7 warnings
  fix(zynqmp): resolve misra R15.6 warnings
  fix(zynqmp): resolve misra 7.2 warnings
  fix(zynqmp): resolve misra R10.3

3 years agoMerge "feat(brbe): add BRBE support for NS world" into integration
Manish Pandey [Fri, 6 May 2022 10:46:03 +0000 (12:46 +0200)]
Merge "feat(brbe): add BRBE support for NS world" into integration

3 years agoMerge changes from topic "ja/boot_protocol" into integration
Olivier Deprez [Fri, 6 May 2022 09:52:55 +0000 (11:52 +0200)]
Merge changes from topic "ja/boot_protocol" into integration

* changes:
  fix(sptool): update Optee FF-A manifest
  feat(sptool): delete c version of the sptool
  feat(sptool): use python version of sptool
  feat(sptool): python version of the sptool
  refactor(sptool): use SpSetupActions in sp_mk_generator.py
  feat(sptool): add python SpSetupActions framework

3 years agofix(st): fix NULL pointer dereference issues
Yann Gautier [Fri, 6 May 2022 07:50:43 +0000 (09:50 +0200)]
fix(st): fix NULL pointer dereference issues

The get_bl_mem_params_node() function could return NULL. Add asserts to
check the return value is not NULL.
This corrects coverity issues:
pager_mem_params = get_bl_mem_params_node(BL32_EXTRA1_IMAGE_ID);
>>>     CID 378360:    (NULL_RETURNS)
>>>     Dereferencing "pager_mem_params", which is known to be "NULL".

paged_mem_params = get_bl_mem_params_node(BL32_EXTRA2_IMAGE_ID);
>>>     CID 378360:    (NULL_RETURNS)
>>>     Dereferencing "paged_mem_params", which is known to be "NULL".

tos_fw_mem_params = get_bl_mem_params_node(TOS_FW_CONFIG_ID);
>>>     CID 378360:    (NULL_RETURNS)
>>>     Dereferencing "tos_fw_mem_params", which is known to be "NULL".

Do the same for other occurrences of get_bl_mem_params_node() return not
checked, in the functions plat_get_bl_image_load_info() and
bl2_plat_handle_pre_image_load().

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

3 years agofix(zynqmp): resolve misra R14.4 warnings
Venkatesh Yadav Abbarapu [Wed, 4 May 2022 08:57:56 +0000 (14:27 +0530)]
fix(zynqmp): resolve misra R14.4 warnings

MISRA Violation: MISRA-C:2012 R.14.4
The controlling expression of an if statement and the controlling
expression of an iteration-statement shall have essentially Boolean type.

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

3 years agofix(zynqmp): resolve misra R16.3 warnings
Venkatesh Yadav Abbarapu [Fri, 29 Apr 2022 09:47:13 +0000 (15:17 +0530)]
fix(zynqmp): resolve misra R16.3 warnings

MISRA Violation: MISRA-C:2012 R.16.3
- An unconditional break statement shall terminate every switch-clause.

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

3 years agofix(zynqmp): resolve misra R15.7 warnings
Venkatesh Yadav Abbarapu [Wed, 4 May 2022 08:53:32 +0000 (14:23 +0530)]
fix(zynqmp): resolve misra R15.7 warnings

MISRA Violation: MISRA-C:2012 R.15.7
- All if . . else if constructs shall be terminated
with an else statement.

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

3 years agofix(zynqmp): resolve misra R15.6 warnings
Venkatesh Yadav Abbarapu [Fri, 29 Apr 2022 08:22:00 +0000 (13:52 +0530)]
fix(zynqmp): resolve misra R15.6 warnings

MISRA Violation: MISRA-C:2012 R.15.6
- The body of an iteration-statement or a selection-statement shall be
  a compound statement.

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

3 years agofix(zynqmp): resolve misra 7.2 warnings
Venkatesh Yadav Abbarapu [Fri, 29 Apr 2022 04:28:30 +0000 (09:58 +0530)]
fix(zynqmp): resolve misra 7.2 warnings

MISRA Violation: MISRA-C:2012 R.7.2
- A "u" or "U" suffix shall be applied to all integer constants that are
represented in an unsigned type.

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

3 years agofix(zynqmp): resolve misra R10.3
Venkatesh Yadav Abbarapu [Thu, 28 Apr 2022 11:09:07 +0000 (16:39 +0530)]
fix(zynqmp): resolve misra R10.3

MISRA Violation: MISRA-C:2012 R.10.3
- The value of an expression shall not be assigned to an object with a
  narrower essential type or of a different essential type category.

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

3 years agoMerge "fix(fvp): fix NULL pointer dereference issue" into integration
Sandrine Bailleux [Fri, 6 May 2022 08:08:54 +0000 (10:08 +0200)]
Merge "fix(fvp): fix NULL pointer dereference issue" into integration

3 years agoMerge "docs(maintainers): update measured boot code owners" into integration
Madhukar Pappireddy [Thu, 5 May 2022 20:27:35 +0000 (22:27 +0200)]
Merge "docs(maintainers): update measured boot code owners" into integration

3 years agofeat(brbe): add BRBE support for NS world
johpow01 [Fri, 28 Jan 2022 23:06:20 +0000 (17:06 -0600)]
feat(brbe): add BRBE support for NS world

This patch enables access to the branch record buffer control registers
in non-secure EL2 and EL1 using the new build option ENABLE_BRBE_FOR_NS.
It is disabled for all secure world, and cannot be used with ENABLE_RME.

This option is disabled by default, however, the FVP platform makefile
enables it for FVP builds.

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: I576a49d446a8a73286ea6417c16bd0b8de71fca0

3 years agofix(security): report CVE 2022 23960 missing for aarch32 A57 and A72
John Powell [Wed, 20 Apr 2022 20:27:33 +0000 (15:27 -0500)]
fix(security): report CVE 2022 23960 missing for aarch32 A57 and A72

Since there is no product deployed running EL3 in AArch32 mode for
Cortex-A57 and Cortex-A72, report the workaround for CVE 2022 23960
as missing on these cores.

Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: I14d202c1179707257086ad0c4795c397e566b3e6

3 years agofeat(intel): add SMPLSEL and DRVSEL setup for Stratix 10 MMC
Sieu Mun Tang [Thu, 5 May 2022 15:42:55 +0000 (23:42 +0800)]
feat(intel): add SMPLSEL and DRVSEL setup for Stratix 10 MMC

SMPLSEL and DRVSEL values need to updated in
DWMMC for the IP to work correctly. This apply
on Stratix 10 device only.

Signed-off-by: Loh Tien Hock <tien.hock.loh@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Ibd799a65890690682e27e4cbbc85e83ea03d51fc

3 years agofeat(intel): add support for F2S and S2F bridge SMC with mask to enable, disable...
Sieu Mun Tang [Thu, 5 May 2022 09:07:21 +0000 (17:07 +0800)]
feat(intel): add support for F2S and S2F bridge SMC with mask to enable, disable and reset bridge

This adds F2S and S2F bridge enable, disable and reset
sequence to enable, disable and reset properly the bridges
in SMC call or during reset.

The reset is also maskable as the SMC from uboot can
pass in the bridge mask when requesting for bridge
enable or disable.

Signed-off-by: Loh Tien Hock <tien.hock.loh@intel.com>
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
Change-Id: Ie144518c591664ef880016c9b3706968411bbf21

3 years agoMerge "fix(intel): reject non 4-byte align request size for FPGA Crypto Service ...
Madhukar Pappireddy [Thu, 5 May 2022 14:12:04 +0000 (16:12 +0200)]
Merge "fix(intel): reject non 4-byte align request size for FPGA Crypto Service (FCS)" into integration

3 years agofix(fvp): fix NULL pointer dereference issue
Manish V Badarkhe [Wed, 4 May 2022 16:21:22 +0000 (17:21 +0100)]
fix(fvp): fix NULL pointer dereference issue

Fixed below NULL pointer dereference issue reported by coverity scan
by asserting the hw_config_info is not NULL.

*** CID 378361:  Null pointer dereferences  (NULL_RETURNS)
/plat/arm/board/fvp/fvp_bl2_setup.c: 84 in plat_get_next_bl_params()
78
79       /* To retrieve actual size of the HW_CONFIG */
80       param_node = get_bl_mem_params_node(HW_CONFIG_ID);
81       assert(param_node != NULL);
82
83       /* Copy HW config from Secure address to NS address */
>>>     CID 378361:  Null pointer dereferences  (NULL_RETURNS)
>>>     Dereferencing "hw_config_info", which is known to be "NULL".
84       memcpy((void *)hw_config_info->ns_config_addr,
85              (void *)hw_config_info->config_addr,
86              (size_t)param_node->image_info.image_size);

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Change-Id: Iaf584044cfc3b2583862bcc1be825966eaffd38e

3 years agofeat(spmc): enable checking of execution ctx count
Marc Bonnici [Thu, 9 Dec 2021 10:51:05 +0000 (10:51 +0000)]
feat(spmc): enable checking of execution ctx count

This is a mandatory entry in an SP's manifest however
currently an S-EL1 partition running under the EL3 SPMC
must have the same amount of execution contexts as
physical cores therefore just check the entry matches
this value.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: I4c2a85ccde7a7bb9b1232cf6389a8c532cbf3d41

3 years agofeat(spmc): enable parsing of UUID from SP Manifest
Marc Bonnici [Tue, 24 Aug 2021 10:31:52 +0000 (11:31 +0100)]
feat(spmc): enable parsing of UUID from SP Manifest

To align with other SPMC implementations parse the UUID
from the SP manifest as 4 uint32 values and store
this internally.

Change-Id: I7de5d5ef8d98dc14bc7c76892133c2333358a379
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
3 years agofeat(spmc): add partition mailbox structs
Marc Bonnici [Thu, 2 Sep 2021 12:18:41 +0000 (13:18 +0100)]
feat(spmc): add partition mailbox structs

Add mailbox structs to the partition descriptors
and ensure these are initialised correctly.

Change-Id: Ie80166d19763c266b6a1d23e351d312dc31fb221
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
3 years agofeat(plat/arm): allow BL32 specific defines to be used by SPMC_AT_EL3
Marc Bonnici [Mon, 20 Dec 2021 10:53:52 +0000 (10:53 +0000)]
feat(plat/arm): allow BL32 specific defines to be used by SPMC_AT_EL3

For EL3 SPMC configuration enabled platforms, allow the reuse of
BL32 specific definitions.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: I37ffbbf680326c101fbb2f146085a96c138f07a1

3 years agofeat(plat/fvp): add EL3 SPMC #defines
Marc Bonnici [Mon, 29 Nov 2021 16:59:02 +0000 (16:59 +0000)]
feat(plat/fvp): add EL3 SPMC #defines

Introduce additional #defines for running with the EL3
SPMC on the FVP.

The increase in xlat tables has been chosen to allow
the test cases to complete successfully and may need
adjusting depending on the desired usecase.

Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
Change-Id: I7f44344ff8b74ae8907d53ebb652ff8def2d2562

3 years agotest(plat/fvp/lsp): add example logical partition
Marc Bonnici [Thu, 19 Aug 2021 13:42:19 +0000 (14:42 +0100)]
test(plat/fvp/lsp): add example logical partition

Add an example logical partition to the FVP platform that
simply prints and echos the contents of a direct request
with the appropriate direct response.

Change-Id: Ib2052c9a63a74830e5e83bd8c128c5f9b0d94658
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
3 years agoMerge changes from topic "mp/delete_platforms" into integration
Sandrine Bailleux [Thu, 5 May 2022 08:30:26 +0000 (10:30 +0200)]
Merge changes from topic "mp/delete_platforms" into integration

* changes:
  refactor(mt6795): remove mediatek's mt6795 platform
  refactor(sgm775): remove Arm sgm775 platform

3 years agoMerge "docs(maintainers): add code owners for Firmware Update driver" into integration
Sandrine Bailleux [Thu, 5 May 2022 07:34:04 +0000 (09:34 +0200)]
Merge "docs(maintainers): add code owners for Firmware Update driver" into integration

3 years agodocs(maintainers): add code owners for Firmware Update driver
Manish V Badarkhe [Wed, 4 May 2022 15:19:17 +0000 (16:19 +0100)]
docs(maintainers): add code owners for Firmware Update driver

Added myself and Sandrine Bailleux as code owners for Firmware
Update driver.

Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com>
Change-Id: I34fad895c6236fedc814fb6da4b04fd7fbed9227

3 years agofix(sptool): update Optee FF-A manifest
J-Alves [Fri, 8 Apr 2022 08:52:26 +0000 (09:52 +0100)]
fix(sptool): update Optee FF-A manifest

Change the OPTEE FF-A manifest to comply with changes to the sp pkg [1].
The sptool packs the image at the default offset of 0x4000, if it is not
provided in the arguments.

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

Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: I647950410114f7fc24926696212bb7f8101390ac