| #
15dfbdfc |
| 07-May-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "gr/smccc-updates" into integration
* changes: refactor(smccc): refactor vendor-el3 build refactor(docs): added versioning to smccc services feat((smccc): add version
Merge changes from topic "gr/smccc-updates" into integration
* changes: refactor(smccc): refactor vendor-el3 build refactor(docs): added versioning to smccc services feat((smccc): add version FID for PMF refactor(smccc): move pmf to vendor el3 calls refactor(smccc): move debugfs to vendor el3 calls feat(smccc): add vendor-specific el3 service feat(smccc): add vendor specific el3 id
show more ...
|
| #
be5b1e22 |
| 15-Feb-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(smccc): add vendor specific el3 id
Add vendor specific el3 function id and update docs for the same.
SMCCC Documentation reference: https://developer.arm.com/documentation/den0028/latest
Chan
feat(smccc): add vendor specific el3 id
Add vendor specific el3 function id and update docs for the same.
SMCCC Documentation reference: https://developer.arm.com/documentation/den0028/latest
Change-Id: Ieeb63608ad74d7b764d7131d8a92ecf10053c50d Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
ce19ebd2 |
| 07-Feb-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "ja/spm_rme" into integration
* changes: docs: change FVP argument in RME configuration feat(fvp): added calls to unprotect/protect memory
|
| #
6873088c |
| 04-Oct-2023 |
J-Alves <joao.alves@arm.com> |
feat(fvp): added calls to unprotect/protect memory
Added SiP calls to FVP platform to protect/unprotect a memory range. These leverage rme features to change the PAS of a given memory range from non
feat(fvp): added calls to unprotect/protect memory
Added SiP calls to FVP platform to protect/unprotect a memory range. These leverage rme features to change the PAS of a given memory range from non-secure to secure.
The mentioned call is leveraged by the SPMC in the memory sharing flow, when memory is shared from the normal world onto the secure world.
More details in the SPM related patches.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Signed-off-by: J-Alves <joao.alves@arm.com> Change-Id: Iaf15d8603a549d247ffb1fc14c16bfb94d0e178a
show more ...
|
| #
72e8f245 |
| 08-Aug-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "chore: update to use Arm word across TF-A" into integration
|
| #
4c700c15 |
| 01-Aug-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
chore: update to use Arm word across TF-A
Align entire TF-A to use Arm in copyright header.
Change-Id: Ief9992169efdab61d0da6bd8c5180de7a4bc2244 Signed-off-by: Govindraj Raja <govindraj.raja@arm.co
chore: update to use Arm word across TF-A
Align entire TF-A to use Arm in copyright header.
Change-Id: Ief9992169efdab61d0da6bd8c5180de7a4bc2244 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
d557aaec |
| 16-Jun-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "chore(smccc): bump up SMCCC version to 1.4" into integration
|
| #
de7e3e9c |
| 16-Jun-2023 |
Manish Pandey <manish.pandey2@arm.com> |
chore(smccc): bump up SMCCC version to 1.4
TF-A code supports SMCCC spec version 1.4 while version is still kept 1.2. Bump up the version.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Chan
chore(smccc): bump up SMCCC version to 1.4
TF-A code supports SMCCC spec version 1.4 while version is still kept 1.2. Bump up the version.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ie5476c4601bd504d3f3e8433e1d672ebd0a758b1
show more ...
|
| #
0e7d97d0 |
| 21-Mar-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(smccc): check smc_fid [23:17] bits" into integration
|
| #
f8a35797 |
| 09-Mar-2023 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
fix(smccc): check smc_fid [23:17] bits
As per SMCCC spec Table 2.1 bit 23:17 must be zero (MBZ), for all Fast Calls, when bit[31] == 1. Adding this check to ensure SMC FIDs when get to the SMC handl
fix(smccc): check smc_fid [23:17] bits
As per SMCCC spec Table 2.1 bit 23:17 must be zero (MBZ), for all Fast Calls, when bit[31] == 1. Adding this check to ensure SMC FIDs when get to the SMC handler have these bits (23:17) cleared, if not capture and report them as an unknown SMCs at the core.
Also the C runtime stack is copied to the stackpointer well in advance, to leverage the existing el3_exit routine for unknown SMC.
Change-Id: I9972216db5ac164815011177945fb34dadc871b0 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| #
78e7b2b4 |
| 09-Nov-2022 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "feat: pass SMCCCv1.3 SVE hint bit to dispatchers" into integration
|
| #
0fe7b9f2 |
| 11-Oct-2022 |
Olivier Deprez <olivier.deprez@arm.com> |
feat: pass SMCCCv1.3 SVE hint bit to dispatchers
SMCCCv1.3 introduces the SVE hint bit added to the SMC FID (bit 16) denoting that the world issuing an SMC doesn't expect the callee to preserve the
feat: pass SMCCCv1.3 SVE hint bit to dispatchers
SMCCCv1.3 introduces the SVE hint bit added to the SMC FID (bit 16) denoting that the world issuing an SMC doesn't expect the callee to preserve the SVE state (FFR, predicates, Zn vector bits greater than 127). Update the generic SMC handler to copy the SVE hint bit state to SMC flags and mask out the bit by default for the services called by the standard dispatcher. It is permitted by the SMCCC standard to ignore the bit as long as the SVE state is preserved. In any case a callee must preserve the NEON state (FPCR/FPSR, Vn 128b vectors) whichever the SVE hint bit state.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: I2b163ed83dc311b8f81f96b23c942829ae9fa1b5
show more ...
|
| #
7042fa6d |
| 06-Oct-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "mb/drtm-preparatory-patches" into integration
* changes: docs(drtm): steps to run DRTM implementation docs(drtm): add platform APIs for DRTM feat(drtm): flush dcache
Merge changes from topic "mb/drtm-preparatory-patches" into integration
* changes: docs(drtm): steps to run DRTM implementation docs(drtm): add platform APIs for DRTM feat(drtm): flush dcache before DLME launch feat(drtm): invalidate icache before DLME launch feat(drtm): ensure that passed region lies within Non-Secure region of DRAM feat(fvp): add plat API to validate that passed region is non-secure feat(drtm): ensure that no SDEI event registered during dynamic launch feat(drtm): prepare EL state during dynamic launch feat(drtm): prepare DLME data for DLME launch feat(drtm): take DRTM components measurements before DLME launch feat(drtm): add a few DRTM DMA protection APIs feat(drtm): add remediation driver support in DRTM feat(fvp): add plat API to set and get the DRTM error feat(drtm): add Event Log driver support for DRTM feat(drtm): check drtm arguments during dynamic launch feat(drtm): introduce drtm dynamic launch function refactor(measured-boot): split out a few Event Log driver functions feat(drtm): retrieve DRTM features feat(drtm): add platform functions for DRTM feat(sdei): add a function to return total number of events registered feat(drtm): add PCR entries for DRTM feat(drtm): update drtm setup function refactor(crypto): change CRYPTO_SUPPORT flag to numeric feat(mbedtls): update mbedTLS driver for DRTM support feat(fvp): add crypto support in BL31 feat(crypto): update crypto module for DRTM support build(changelog): add new scope for mbedTLS and Crypto module feat(drtm): add standard DRTM service build(changelog): add new scope for DRTM service feat(fvp): increase MAX_XLAT_TABLES entries for DRTM support feat(fvp): increase BL31's stack size for DRTM support feat(fvp): add platform hooks for DRTM DMA protection
show more ...
|
| #
e62748e3 |
| 23-Feb-2022 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
feat(drtm): add standard DRTM service
Added a dummy DRTM setup function and also, introduced DRTM SMCs handling as per DRTM spec [1]. Few basic SMCs are handled in this change such as ARM_DRTM_SVC_V
feat(drtm): add standard DRTM service
Added a dummy DRTM setup function and also, introduced DRTM SMCs handling as per DRTM spec [1]. Few basic SMCs are handled in this change such as ARM_DRTM_SVC_VERSION and ARM_DRTM_SVC_FEATURES that returns DRTM version and functions ids supported respectively, and others are dummy for now.
[1]: https://developer.arm.com/documentation/den0113/latest
Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com> Signed-off-by: Lucian Paul-Trifu <lucian.paultrifu@gmail.com> Change-Id: I8c7afe920c78e064cbab2298f59e6837c70ba8ff
show more ...
|
| #
1d651211 |
| 06-Oct-2021 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "za/feat_rme" into integration
* changes: refactor(gpt): productize and refactor GPT library feat(rme): disable Watchdog for Arm platforms if FEAT_RME enabled docs(rme
Merge changes from topic "za/feat_rme" into integration
* changes: refactor(gpt): productize and refactor GPT library feat(rme): disable Watchdog for Arm platforms if FEAT_RME enabled docs(rme): add build and run instructions for FEAT_RME fix(plat/fvp): bump BL2 stack size fix(plat/fvp): allow changing the kernel DTB load address refactor(plat/arm): rename ARM_DTB_DRAM_NS region macros refactor(plat/fvp): update FVP platform DTS for FEAT_RME feat(plat/arm): add GPT initialization code for Arm platforms feat(plat/fvp): add memory map for FVP platform for FEAT_RME refactor(plat/arm): modify memory region attributes to account for FEAT_RME feat(plat/fvp): add RMM image support for FVP platform feat(rme): add GPT Library feat(rme): add ENABLE_RME build option and support for RMM image refactor(makefile): remove BL prefixes in build macros feat(rme): add context management changes for FEAT_RME feat(rme): add Test Realm Payload (TRP) feat(rme): add RMM dispatcher (RMMD) feat(rme): run BL2 in root world when FEAT_RME is enabled feat(rme): add xlat table library changes for FEAT_RME feat(rme): add Realm security state definition feat(rme): add register definitions and helper functions for FEAT_RME
show more ...
|
| #
4693ff72 |
| 08-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): add Realm security state definition
FEAT_RME introduces two additional security states, Root and Realm security states. This patch adds Realm security state awareness to SMCCC helpers and
feat(rme): add Realm security state definition
FEAT_RME introduces two additional security states, Root and Realm security states. This patch adds Realm security state awareness to SMCCC helpers and entry point info structure.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I9cdefcc1aa71259b2de46e5fb62b28d658fa59bd
show more ...
|
| #
2a008779 |
| 16-Jun-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "soc_id" into integration
* changes: refactor(plat/nvidia): use SOC_ID defines refactor(plat/mediatek): use SOC_ID defines refactor(plat/arm): use SOC_ID defines fea
Merge changes from topic "soc_id" into integration
* changes: refactor(plat/nvidia): use SOC_ID defines refactor(plat/mediatek): use SOC_ID defines refactor(plat/arm): use SOC_ID defines feat(plat/st): implement platform functions for SMCCC_ARCH_SOC_ID refactor(plat/st): export functions to get SoC information feat(smccc): add bit definition for SMCCC_ARCH_SOC_ID
show more ...
|
| #
96b0596e |
| 20-May-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
feat(smccc): add bit definition for SMCCC_ARCH_SOC_ID
The definitions of SMCCC_ARCH_SOC_ID SoC version return bits are defined in SMC Calling Convention [1]. Add the masks and shifts for JEP-106 ban
feat(smccc): add bit definition for SMCCC_ARCH_SOC_ID
The definitions of SMCCC_ARCH_SOC_ID SoC version return bits are defined in SMC Calling Convention [1]. Add the masks and shifts for JEP-106 bank index, JEP-106 identification code, and Implementation defined SoC ID. Add a macro to easily set JEP-106 fields.
[1] https://developer.arm.com/documentation/den0028/latest/
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: Iecbd09f6de6728de89dc746d2d1981a5a97a8ab7
show more ...
|
| #
943aff0c |
| 18-Oct-2020 |
Joanna Farley <joanna.farley@arm.com> |
Merge "Increase type widths to satisfy width requirements" into integration
|
| #
d7b5f408 |
| 04-Aug-2020 |
Jimmy Brisson <jimmy.brisson@arm.com> |
Increase type widths to satisfy width requirements
Usually, C has no problem up-converting types to larger bit sizes. MISRA rule 10.7 requires that you not do this, or be very explicit about this. T
Increase type widths to satisfy width requirements
Usually, C has no problem up-converting types to larger bit sizes. MISRA rule 10.7 requires that you not do this, or be very explicit about this. This resolves the following required rule:
bl1/aarch64/bl1_context_mgmt.c:81:[MISRA C-2012 Rule 10.7 (required)]<None> The width of the composite expression "0U | ((mode & 3U) << 2U) | 1U | 0x3c0U" (32 bits) is less that the right hand operand "18446744073709547519ULL" (64 bits).
This also resolves MISRA defects such as:
bl2/aarch64/bl2arch_setup.c:18:[MISRA C-2012 Rule 12.2 (required)] In the expression "3U << 20", shifting more than 7 bits, the number of bits in the essential type of the left expression, "3U", is not allowed.
Further, MISRA requires that all shifts don't overflow. The definition of PAGE_SIZE was (1U << 12), and 1U is 8 bits. This caused about 50 issues. This fixes the violation by changing the definition to 1UL << 12. Since this uses 32bits, it should not create any issues for aarch32.
This patch also contains a fix for a build failure in the sun50i_a64 platform. Specifically, these misra fixes removed a single and instruction,
92407e73 and x19, x19, #0xffffffff
from the cm_setup_context function caused a relocation in psci_cpus_on_start to require a linker-generated stub. This increased the size of the .text section and caused an alignment later on to go over a page boundary and round up to the end of RAM before placing the .data section. This sectionn is of non-zero size and therefore causes a link error.
The fix included in this reorders the functions during link time without changing their ording with respect to alignment.
Change-Id: I76b4b662c3d262296728a8b9aab7a33b02087f16 Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
show more ...
|
| #
fb6a9ed6 |
| 14-Aug-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topic "bl1-misra" into integration
* changes: Specify signed-ness of constants Prevent colliding identifiers
|
| #
d74c6b83 |
| 05-Aug-2020 |
Jimmy Brisson <jimmy.brisson@arm.com> |
Prevent colliding identifiers
There was a collision between the name of the typedef in the CASSERT and something else, so we make the name of the typedef unique to the invocation of DEFFINE_SVC_UUID
Prevent colliding identifiers
There was a collision between the name of the typedef in the CASSERT and something else, so we make the name of the typedef unique to the invocation of DEFFINE_SVC_UUID2 by appending the name that's passed into the macro. This eliminates the following MISRA violation:
bl1/bl1_main.c:233:[MISRA C-2012 Rule 5.6 (required)] Identifier "invalid_svc_uuid" is already used to represent a typedef.
This also resolves MISRA rule 5.9.
These renamings are as follows: * tzram -> secram. This matches the function call name as it has sec_mem in it's name * fw_config_base -> config_base. This file does not mess with hw_conig, so there's little chance of confusion
Change-Id: I8734ba0956140c8e29b89d0596d10d61a6ef351e Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
show more ...
|
| #
37d56d38 |
| 04-Apr-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "Fix MISRA C issues in BL1/BL2/BL31" into integration
|
| #
3443a702 |
| 20-Mar-2020 |
John Powell <john.powell@arm.com> |
Fix MISRA C issues in BL1/BL2/BL31
Attempts to address MISRA compliance issues in BL1, BL2, and BL31 code. Mainly issues like not using boolean expressions in conditionals, conflicting variable name
Fix MISRA C issues in BL1/BL2/BL31
Attempts to address MISRA compliance issues in BL1, BL2, and BL31 code. Mainly issues like not using boolean expressions in conditionals, conflicting variable names, ignoring return values without (void), adding explicit casts, etc.
Change-Id: If1fa18ab621b9c374db73fa6eaa6f6e5e55c146a Signed-off-by: John Powell <john.powell@arm.com>
show more ...
|
| #
45503af4 |
| 09-Jan-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "smccc: add get smc function id num macro" into integration
|