| e7c060d5 | 24-Jul-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(fgt2): add support for FEAT_FGT2" into integration |
| e1b76cb0 | 23-Jul-2024 |
Jagdish Gediya <jagdish.gediya@arm.com> |
feat(tc): enable Last-level cache (LLC)
The EXTLLC bit in CPUECTLR_EL1 register indicates that an external Last-level cache is present in the system.
This bit is not set for CPUs on TC3 platform de
feat(tc): enable Last-level cache (LLC)
The EXTLLC bit in CPUECTLR_EL1 register indicates that an external Last-level cache is present in the system.
This bit is not set for CPUs on TC3 platform despite there is presence of LLC in MCN, so set them.
Change-Id: I5f889e67dce2b1d00e4ee66a8c255cf7911825b0 Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| ad8b5141 | 23-Jul-2024 |
Jagdish Gediya <jagdish.gediya@arm.com> |
feat(cpus): add sysreg_bitfield_insert_from_gpr macro
A macro 'sysreg_bitfield_insert_from_gpr' is introduced for inserting bitfield from a general register.
Change-Id: I7288a13d70d98e23dc7a93287b0
feat(cpus): add sysreg_bitfield_insert_from_gpr macro
A macro 'sysreg_bitfield_insert_from_gpr' is introduced for inserting bitfield from a general register.
Change-Id: I7288a13d70d98e23dc7a93287b04b493ffce9171 Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| 7475815f | 13-May-2024 |
levi.yun <yeoreum.yun@arm.com> |
feat(handoff): fix register convention r1/x1 value on transfer list
According to recently firmware handsoff spec [1]'s "Register usage at handoff boundary", Transfer List's signature value was chang
feat(handoff): fix register convention r1/x1 value on transfer list
According to recently firmware handsoff spec [1]'s "Register usage at handoff boundary", Transfer List's signature value was changed from 0x40_b10b (3 bytes) to 4a0f_b10b (4 bytes).
As updating of TL's signature, register value of x1/r1 should be:
In aarch32's r1 value should be R1[23:0]: set to the TL signature (4a0f_b10b -> masked range value: 0f_b10b) R1[31:24]: version of the register convention == 1 and In aarch64's x1 value should be X1[31:0]: set to the TL signature (4a0f_b10b) X1[39:32]: version of the register convention == 1 X1[63:40]: MBZ (See the [2] and [3]).
Therefore, it requires to separate mask and shift value for register convention version field when sets each r1/x1.
This patch fix two problems: 1. breaking X1 value with updated specification in aarch64 - change of length of signature field.
2. previous error value set in R1 in arm32. - length of signature should be 24, but it uses 32bit signature.
This change is breaking change. It requires some patch for other softwares (u-boot[4], optee[5]).
Link: https://github.com/FirmwareHandoff/firmware_handoff [1] Link: https://github.com/FirmwareHandoff/firmware_handoff/issues/32 [2] Link: https://github.com/FirmwareHandoff/firmware_handoff/commit/5aa7aa1d3a1db75213e458d392b751f0707de027 [3] Link: https://lists.denx.de/pipermail/u-boot/2024-July/558628.html [4] Link: https://github.com/OP-TEE/optee_os/pull/6933 [5] Signed-off-by: Levi Yun <yeoreum.yun@arm.com> Change-Id: Ie417e054a7a4c192024a2679419e99efeded1705
show more ...
|
| e3c0869f | 24-Jun-2024 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
fix(xlat): correct attribute retrieval in a RME enabled system
In a system enabled with RME, the function 'xlat_get_mem_attributes_internal' fails to accurately provide 'output PA space' for Realm a
fix(xlat): correct attribute retrieval in a RME enabled system
In a system enabled with RME, the function 'xlat_get_mem_attributes_internal' fails to accurately provide 'output PA space' for Realm and Root memory because it does not consider the 'nse' bit in page table descriptor. This patch resolves the issue by extracting the 'nse' bit value. As a result, it ensures correct retrieval of attributes in RME-enabled systems while maintaining unaffected attribute retrieval for non-RME systems.
Change-Id: If2d01545b921c9074f48c52a98027ff331e14237 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 33e6aaac | 06-Jun-2024 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
feat(fgt2): add support for FEAT_FGT2
This patch disables trapping to EL3 when the FEAT_FGT2 specific trap registers are accessed by setting the SCR_EL3.FGTEn2 bit
Signed-off-by: Arvind Ram Prakash
feat(fgt2): add support for FEAT_FGT2
This patch disables trapping to EL3 when the FEAT_FGT2 specific trap registers are accessed by setting the SCR_EL3.FGTEn2 bit
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I6d2b614affb9067b2bc3d7bf0ae7d169d031592a
show more ...
|
| 83271d5a | 22-May-2024 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
feat(debugv8p9): add support for FEAT_Debugv8p9
This patch enables FEAT_Debugv8p9 and prevents EL1/0 from trapping to EL3 when accessing MDSELR_EL1 register by setting the MDCR_EL3.EBWE bit.
Signed
feat(debugv8p9): add support for FEAT_Debugv8p9
This patch enables FEAT_Debugv8p9 and prevents EL1/0 from trapping to EL3 when accessing MDSELR_EL1 register by setting the MDCR_EL3.EBWE bit.
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I3613af1dd8cb8c0d3c33dc959f170846c0b9695a
show more ...
|
| 759994aa | 04-Jul-2024 |
Leo Yan <leo.yan@arm.com> |
fix(arm): correct RSE_CRYPTO_EXPORT_PUBLIC_KEY_SID
The RSE_CRYPTO_EXPORT_PUBLIC_KEY_SID macro does not match the definition in RSE. A paired macro, TFM_CRYPTO_EXPORT_PUBLIC_KEY, in the RSE's header
fix(arm): correct RSE_CRYPTO_EXPORT_PUBLIC_KEY_SID
The RSE_CRYPTO_EXPORT_PUBLIC_KEY_SID macro does not match the definition in RSE. A paired macro, TFM_CRYPTO_EXPORT_PUBLIC_KEY, in the RSE's header (located in interface/include/tfm_crypto_defs.h) is defined as 0x206. This causes the TF-A test PLATFORM_TEST=rse-rotpk to fail.
Correct the definition of RSE_CRYPTO_EXPORT_PUBLIC_KEY_SID to make the test pass.
Change-Id: I0bc24ed6dd23f2718e1edea5ec464545dab06983 Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| 2e0efb3f | 27-Jun-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(cm): context switch MDCR_EL3 register" into integration |
| 8f375e46 | 26-Jun-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
refactor(lib): rename GENMASK parameters
Rename GENMASK parameters for better readability to avoid misinterpreting the 'l' as '1' in BIT(l) usage.
Change-Id: I9a85c750607e098939d70c61c2e29f4788b990
refactor(lib): rename GENMASK parameters
Rename GENMASK parameters for better readability to avoid misinterpreting the 'l' as '1' in BIT(l) usage.
Change-Id: I9a85c750607e098939d70c61c2e29f4788b99016 Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| 1f0b6e75 | 18-Jun-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
fix(lib): avoid CWE-190 for GENMASK macros
Redefine GENMASK_32 and GENMASK_64 to avoid the impact of CWE-190, which applies due to (~0 << (l)) syntax, where a wraparound occurs.
Change-Id: I8d08911
fix(lib): avoid CWE-190 for GENMASK macros
Redefine GENMASK_32 and GENMASK_64 to avoid the impact of CWE-190, which applies due to (~0 << (l)) syntax, where a wraparound occurs.
Change-Id: I8d08911664db7052351312d310566bb546dfb486 Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| 0605b7e8 | 18-Jun-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
fix(lib): fix MISRA 12.2 violations for BIT32 and BIT64 macros
MISRA interprets all unsigned integer literals as UTLR, which has the lowest rank required to represent a value. In this specific case,
fix(lib): fix MISRA 12.2 violations for BIT32 and BIT64 macros
MISRA interprets all unsigned integer literals as UTLR, which has the lowest rank required to represent a value. In this specific case, the value 1U was interpreted as an unsigned char. As a result, explicit casts are necessary to avoid issues with MISRA 12.2.
Change-Id: I4c1231ffabb27442c6a48dabd96942574d27c719 Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| 123002f9 | 18-Jun-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
feat(cm): context switch MDCR_EL3 register
Currently MDCR_EL3 register value is same for all the worlds(Non-secure, Secure, Realm and Root).
With this approach, features enable/disable settings rem
feat(cm): context switch MDCR_EL3 register
Currently MDCR_EL3 register value is same for all the worlds(Non-secure, Secure, Realm and Root).
With this approach, features enable/disable settings remain same across all the worlds. This is not ideal as there must be flexibility in controlling feature as per the requirements for individual world.
The patch addresses this by providing MDCR_EL3 a per world value. Features with identical values for all the worlds are grouped under ``manage_extensions_common`` API.
Change-Id: Ibc068d985fe165d8cb6d0ffb84119bffd743b3d1 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| 378025e2 | 14-Jun-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "nrd3_support" into integration
* changes: feat(rdfremont): add support for measured boot at BL1 and BL2 feat(arm): mock support for CCA NV ctr feat(rdfremont): fetch
Merge changes from topic "nrd3_support" into integration
* changes: feat(rdfremont): add support for measured boot at BL1 and BL2 feat(arm): mock support for CCA NV ctr feat(rdfremont): fetch attestation key and token from RSE feat(psa): introduce generic library for CCA attestation feat(rdfremont): initialize the rse comms driver feat(rdfremont): helper to initialize rse-comms with AP-RSE MHUv3 fix(rse): include lib-psa to resolve build feat(neoverse-rd): add MHUv3 channels on third gen multichip platforms feat(neoverse-rd): add MHUv3 doorbell channels on third gen platforms feat(rdfremont): initialize GPT on GPC SMMU block feat(rdfremont): update Root registers page offset for SMMUv3 feat(rdfremont): enable MTE2 if present on the platform feat(rdfremont): enable SVE for SWD and NS feat(rdfremont): enable AMU if present on the platform feat(rdfremont): enable MPAM if present on the platform feat(rdfremont): add DRAM pas entries in pas table for multichip feat(rdfremont): add implementation for GPT setup feat(rdfremont): integrate DTS files for RD-Fremont variants feat(rdfremont): add support for RD-Fremont-Cfg2 feat(rdfremont): add support for RD-Fremont-Cfg1 feat(rdfremont): add support for RD-Fremont feat(neoverse-rd): add scope for RD-Fremont variants feat(neoverse-rd): add multichip pas entries feat(neoverse-rd): add pas definitions for third gen platforms feat(neoverse-rd): add DRAM layout for third gen platforms feat(neoverse-rd): add SRAM layout for third gen platforms feat(neoverse-rd): add firmware definitions for third gen platforms feat(neoverse-rd): add RoS definitions for third gen platforms feat(neoverse-rd): add CSS definitions for third gen platforms
show more ...
|
| 98d36e5b | 28-Mar-2023 |
Vivek Gautam <vivek.gautam@arm.com> |
feat(psa): introduce generic library for CCA attestation
Add a generic Arm CCA attestation library driver to interface with the PSA delegated attestation partition APIs that use RSE to fetch the pla
feat(psa): introduce generic library for CCA attestation
Add a generic Arm CCA attestation library driver to interface with the PSA delegated attestation partition APIs that use RSE to fetch the platform attestation token and Realm attestation key.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Signed-off-by: Vivek Gautam <vivek.gautam@arm.com> Change-Id: I882273e97567cc068f90d2ef089410f3a93c6b00
show more ...
|
| 9fd9f1d0 | 30-Sep-2022 |
shengfei Xu <xsf@rock-chips.com> |
feat(rockchip): add RK3566/RK3568 Socs support
RK3566/RK3568 is a Quad-core soc and Cortex-a55 inside. This patch supports the following functions: 1. basic platform setup 2. power up/off cpus 3. su
feat(rockchip): add RK3566/RK3568 Socs support
RK3566/RK3568 is a Quad-core soc and Cortex-a55 inside. This patch supports the following functions: 1. basic platform setup 2. power up/off cpus 3. suspend/resume cpus 4. suspend/resume system 5. reset system
Signed-off-by: shengfei Xu <xsf@rock-chips.com> Change-Id: I8b98a4d07664de26bd6078f63664cbc3d9c1c68c
show more ...
|
| 55c7efc4 | 30-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(cm): move mpam registers into el2 context" into integration |
| bbe94cdd | 17-May-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
chore: rename Blackhawk to Cortex-X925
Rename Blackhawk to Cortex-X925.
Change-Id: I51e40a7bc6b8871c53c40d1f341853b1fd7fdf71 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> |
| 16aacab8 | 17-May-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
chore: rename Chaberton to Cortex-A725
Rename Chaberton to Cortex-A725.
Change-Id: I981b22d3b37f1aa6e25ff1f35aa156fff9c30076 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> |
| 7d930c7e | 28-May-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(cm): move mpam registers into el2 context
* FEAT_MPAM related EL2 registers are placed explicitly outside the EL2 context in the cpu_context_t structure.
* With EL2 registers now coupled
refactor(cm): move mpam registers into el2 context
* FEAT_MPAM related EL2 registers are placed explicitly outside the EL2 context in the cpu_context_t structure.
* With EL2 registers now coupled with dependent features, this patch moves them to the el2_context structure "el2_sysregs_t".
* Further, converting the assembly context-offset entries into a c structure. It relies on garbage collection of the linker removing unreferenced structures from memory, as well as aiding in readability and future maintenance.
Change-Id: Ib784bc8d2fbe35a8a47a569426d8663282ec06aa Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| 332b62e0 | 10-May-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "feat(cpus): support to update External LLC presence in Neoverse N3" into integration |
| 88d48bc7 | 10-May-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "fix(smc): correctly find pmf version" into integration |
| 421f3e3e | 09-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(cpus): support to update External LLC presence in Neoverse V2" into integration |
| 62865b4e | 09-May-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(smc): correctly find pmf version
Commit@f7679d437d5f27a3168f017db8d42bc561ac0c59 PMF is moved under vendor specific EL3 range, part of this we have introduced each sub-service have an version sc
fix(smc): correctly find pmf version
Commit@f7679d437d5f27a3168f017db8d42bc561ac0c59 PMF is moved under vendor specific EL3 range, part of this we have introduced each sub-service have an version scheme[1].
- Current PMF is not handling correctly identifying all FID's under it so handle this correctly. - Minor refactor to use existing macro GET_SMC_NUM rather than manual parsing to find the SMC number.
[1]: https://trustedfirmware-a.readthedocs.io/en/latest/components/ven-el3-service.html
Change-Id: I7a4c8936e42d4a579f0243fa3d06015540caca37 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 6fbc98b1 | 09-May-2024 |
Younghyun Park <younghyunpark@google.com> |
feat(cpus): support to update External LLC presence in Neoverse N3
The CPUECTLR_EL1.EXTLLC bit indicates that an external last level cache(LLC) is present in the system. The default value is interna
feat(cpus): support to update External LLC presence in Neoverse N3
The CPUECTLR_EL1.EXTLLC bit indicates that an external last level cache(LLC) is present in the system. The default value is internal LLC. Some systems which may have External LLC can enable the External LLC presece with the build option 'NEOVERSE_Nx_EXTERNAL_LLC'.
Change-Id: I2567283a55c0d6e2f9fd986b7dbab91c7a815d3d Signed-off-by: Younghyun Park <younghyunpark@google.com>
show more ...
|