| 1839012d | 13-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): add GPT Library
This patch introduces the Granule Protection Table (GPT) library code. This implementation will be updated later to be more flexible, as the current implementation is very
feat(rme): add GPT Library
This patch introduces the Granule Protection Table (GPT) library code. This implementation will be updated later to be more flexible, as the current implementation is very rigid.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I3af824a28c6e9a5d36459c0c51d2d9bebfba1505
show more ...
|
| c5ea4f8a | 09-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): add context management changes for FEAT_RME
This patch adds a new context for realm world and realm world awareness in context management.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm
feat(rme): add context management changes for FEAT_RME
This patch adds a new context for realm world and realm world awareness in context management.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Signed-off-by: Subhasish Ghosh <subhasish.ghosh@arm.com> Change-Id: Ic17469393603e789d7adc025880346bc3d6233d7
show more ...
|
| 6c09af9f | 09-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): run BL2 in root world when FEAT_RME is enabled
This patch enables BL2 to run in root world (EL3) which is needed as per the security model of RME-enabled systems.
Using the existing BL2_
feat(rme): run BL2 in root world when FEAT_RME is enabled
This patch enables BL2 to run in root world (EL3) which is needed as per the security model of RME-enabled systems.
Using the existing BL2_AT_EL3 TF-A build option is not convenient because that option assumes TF-A BL1 doesn't exist, which is not the case for RME-enabled systems. For the purposes of RME, we use a normal BL1 image but we also want to run BL2 in EL3 as normally as possible, therefore rather than use the special bl2_entrypoint function in bl2_el3_entrypoint.S, we use a new bl2_entrypoint function (in bl2_rme_entrypoint.S) which doesn't need reset or mailbox initialization code seen in the el3_entrypoint_common macro.
The patch also cleans up bl2_el3_entrypoint.S, moving the bl2_run_next_image function to its own file to avoid duplicating code.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I99821b4cd550cadcb701f4c0c4dc36da81c7ef55
show more ...
|
| 36218238 | 08-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): add xlat table library changes for FEAT_RME
FEAT_RME adds a new bit (NSE) in the translation table descriptor to determine the Physical Address Space (PAS) of an EL3 stage 1 translation a
feat(rme): add xlat table library changes for FEAT_RME
FEAT_RME adds a new bit (NSE) in the translation table descriptor to determine the Physical Address Space (PAS) of an EL3 stage 1 translation according to the following mapping:
TTD.NSE TTD.NS | PAS ================================= 0 0 | Secure 0 1 | Non-secure 1 0 | Root 1 1 | Realm
This patch adds modifications to version 2 of the translation table library accordingly. Bits 4 and 5 in mmap attribute are used to determine the PAS.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I82790f6900b7a1ab9494c732eac7b9808a388103
show more ...
|
| 74d720a0 | 26-Aug-2021 |
Yann Gautier <yann.gautier@foss.st.com> |
fix(xlat): remove always true check in assert
This issue was found with Clang compiler: lib/xlat_tables_v2/aarch32/xlat_tables_arch.c:206:34: error: result of comparison of constant 4294967296 with
fix(xlat): remove always true check in assert
This issue was found with Clang compiler: lib/xlat_tables_v2/aarch32/xlat_tables_arch.c:206:34: error: result of comparison of constant 4294967296 with expression of type 'uintptr_t' (aka 'unsigned long') is always true [-Werror,-Wtautological-constant-out-of-range-compare] assert(virtual_addr_space_size <= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
On AARCH32, MAX_VIRT_ADDR_SPACE_SIZE is defined as 1 << 32, and a 32 bit uintptr_t is always lower. Just remove the assert line.
Change-Id: Iec2c05290cede6e9fedbbf7b7dff2118bd1f9b16 Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| 81c272b3 | 08-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(rme): add register definitions and helper functions for FEAT_RME
This patch adds new register and bit definitions for the Armv9-A Realm Management Extension (RME) as described in the Arm docume
feat(rme): add register definitions and helper functions for FEAT_RME
This patch adds new register and bit definitions for the Armv9-A Realm Management Extension (RME) as described in the Arm document DDI0615 (https://developer.arm.com/documentation/ddi0615/latest).
The patch also adds TLB maintenance functions and a function to detect the presence of RME feature.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I03d2af7ea41a20a9e8a362a36b8099e3b4d18a11
show more ...
|
| b36fe212 | 29-Sep-2021 |
nayanpatel-arm <nayankumar.patel@arm.com> |
errata: workaround for Cortex-A78 erratum 2132060
Cortex-A78 erratum 2132060 is a Cat B erratum that applies to revisions r0p0, r1p0, r1p1, and r1p2 of CPU. It is still open. The workaround is to wr
errata: workaround for Cortex-A78 erratum 2132060
Cortex-A78 erratum 2132060 is a Cat B erratum that applies to revisions r0p0, r1p0, r1p1, and r1p2 of CPU. It is still open. The workaround is to write the value 2'b11 to the PF_MODE bits in the CPUECTLR_EL1 register which will place the data prefetcher in the most conservative mode instead of disabling it.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1401784/latest
Signed-off-by: nayanpatel-arm <nayankumar.patel@arm.com> Change-Id: If7dec72578633d37d110d103099e406c3a970ff7
show more ...
|
| 8e140272 | 28-Sep-2021 |
nayanpatel-arm <nayankumar.patel@arm.com> |
errata: workaround for Neoverse-V1 erratum 2108267
Neoverse-V1 erratum 2108267 is a Cat B erratum that applies to revisions r0p0, r1p0, and r1p1 of CPU. It is still open. The workaround is to write
errata: workaround for Neoverse-V1 erratum 2108267
Neoverse-V1 erratum 2108267 is a Cat B erratum that applies to revisions r0p0, r1p0, and r1p1 of CPU. It is still open. The workaround is to write the value 2'b11 to the PF_MODE bits in the CPUECTLR_EL1 register which will place the data prefetcher in the most conservative mode instead of disabling it.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1401781/latest
Signed-off-by: nayanpatel-arm <nayankumar.patel@arm.com> Change-Id: Iedcb84a7ad34af7083116818f49d7296f7d9bf94
show more ...
|
| ef8f0c52 | 28-Sep-2021 |
nayanpatel-arm <nayankumar.patel@arm.com> |
fix(errata): workaround for Neoverse-N2 erratum 2138953
Neoverse-N2 erratum 2138953 is a Cat B erratum that applies to revision r0p0 of CPU. It is still open. The workaround is to write the value 4'
fix(errata): workaround for Neoverse-N2 erratum 2138953
Neoverse-N2 erratum 2138953 is a Cat B erratum that applies to revision r0p0 of CPU. It is still open. The workaround is to write the value 4'b1001 to the PF_MODE bits in the IMP_CPUECTLR2_EL1 register which will place the data prefetcher in the most conservative mode instead of disabling it.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1982442/latest
Signed-off-by: nayanpatel-arm <nayankumar.patel@arm.com> Change-Id: Ife0a4bece7ccf83cc99c1d5f5b5a43084bb69d64
show more ...
|
| 744bdbf7 | 22-Sep-2021 |
nayanpatel-arm <nayankumar.patel@arm.com> |
fix(errata): workaround for Cortex-A710 erratum 2058056
Cortex-A710 erratum 2058056 is a Cat B erratum that applies to revisions r0p0, r1p0, and r2p0. It is still open. The workaround is to write th
fix(errata): workaround for Cortex-A710 erratum 2058056
Cortex-A710 erratum 2058056 is a Cat B erratum that applies to revisions r0p0, r1p0, and r2p0. It is still open. The workaround is to write the value 4'b1001 to the PF_MODE bits in the IMP_CPUECTLR2_EL1 register which will place the data prefetcher in the most conservative mode instead of disabling it.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775101/latest
Signed-off-by: nayanpatel-arm <nayankumar.patel@arm.com> Change-Id: I7ce5181b3b469fbbb16501e633116e119b8bf4f1
show more ...
|
| fe82bcc0 | 30-Sep-2021 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "feat(cpu): add support for Hayes CPU" into integration |
| 7bd8dfb8 | 19-Aug-2021 |
johpow01 <john.powell@arm.com> |
feat(cpu): add support for Hayes CPU
This patch adds the basic CPU library code to support the Hayes CPU in TF-A. This CPU is based on the Klein core so that library code has been adapted for use he
feat(cpu): add support for Hayes CPU
This patch adds the basic CPU library code to support the Hayes CPU in TF-A. This CPU is based on the Klein core so that library code has been adapted for use here.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: If0e0070cfa77fee8f6eebfee13d3c4f209ad84fc
show more ...
|
| e31fb0fa | 03-Mar-2021 |
laurenw-arm <lauren.wehrmeister@arm.com> |
fvp_r: load, auth, and transfer from BL1 to BL33
Adding load, authentication, and transfer functionality from FVP R BL1 to BL33, which will be the partner runtime code.
Signed-off-by: Lauren Wehrme
fvp_r: load, auth, and transfer from BL1 to BL33
Adding load, authentication, and transfer functionality from FVP R BL1 to BL33, which will be the partner runtime code.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I293cad09739dacac0d20dd57c1d98178dbe84d40
show more ...
|
| 5fb061e7 | 27-Jan-2021 |
Gary Morrison <gary.morrison@arm.com> |
chore: fvp_r: Initial No-EL3 and MPU Implementation
For v8-R64, especially R82, creating code to run BL1 at EL2, using MPU.
Signed-off-by: Gary Morrison <gary.morrison@arm.com> Change-Id: I439ac39
chore: fvp_r: Initial No-EL3 and MPU Implementation
For v8-R64, especially R82, creating code to run BL1 at EL2, using MPU.
Signed-off-by: Gary Morrison <gary.morrison@arm.com> Change-Id: I439ac3915b982ad1e61d24365bdd1584b3070425
show more ...
|
| 114785c9 | 29-Sep-2021 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "errata: workaround for Cortex-A710 erratum 2083908" into integration |
| cb4ec47b | 05-Aug-2021 |
johpow01 <john.powell@arm.com> |
feat(hcx): add build option to enable FEAT_HCX
FEAT_HCX adds the extended hypervisor configuration register (HCRX_EL2) and access to this register must be explicitly enabled through the SCR_EL3.HXEn
feat(hcx): add build option to enable FEAT_HCX
FEAT_HCX adds the extended hypervisor configuration register (HCRX_EL2) and access to this register must be explicitly enabled through the SCR_EL3.HXEn bit. This patch adds a new build flag ENABLE_FEAT_HCX to allow the register to be accessed from EL2.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Ibb36ad90622f1dc857adab4b0d4d7a89456a522b
show more ...
|
| 95fe195d | 16-Sep-2021 |
nayanpatel-arm <nayankumar.patel@arm.com> |
errata: workaround for Cortex-A710 erratum 2083908
Cortex-A710 erratum 2083908 is a Cat B erratum that applies to revision r2p0 and is still open. The workaround is to set CPUACTLR5_EL1[13] to 1.
S
errata: workaround for Cortex-A710 erratum 2083908
Cortex-A710 erratum 2083908 is a Cat B erratum that applies to revision r2p0 and is still open. The workaround is to set CPUACTLR5_EL1[13] to 1.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775101/latest
Signed-off-by: nayanpatel-arm <nayankumar.patel@arm.com> Change-Id: I876d26a7ac6ab0d7c567a9ec9f34fc0f952589d8
show more ...
|
| b3210f4d | 17-Sep-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "TrcDbgExt" into integration
* changes: feat(plat/fvp): enable trace extension features by default feat(trf): enable trace filter control register access from lower NS E
Merge changes from topic "TrcDbgExt" into integration
* changes: feat(plat/fvp): enable trace extension features by default feat(trf): enable trace filter control register access from lower NS EL feat(trf): initialize trap settings of trace filter control registers access feat(sys_reg_trace): enable trace system registers access from lower NS ELs feat(sys_reg_trace): initialize trap settings of trace system registers access feat(trbe): enable access to trace buffer control registers from lower NS EL feat(trbe): initialize trap settings of trace buffer control registers access
show more ...
|
| b84a8508 | 15-Apr-2019 |
Etienne Carriere <etienne.carriere@st.com> |
feat(lib/optee): introduce optee_header_is_valid()
This new function optee_header_is_valid() allows platform to know whether OP-TEE OS is loaded from multi-image (using OP-TEE header image as BL32_I
feat(lib/optee): introduce optee_header_is_valid()
This new function optee_header_is_valid() allows platform to know whether OP-TEE OS is loaded from multi-image (using OP-TEE header image as BL32_IMAGE_ID) or from a single OP-TEE binary image. The function tee_validate_header() is reworked to return a boolean, and is now silent.
Change-Id: Idc7dde091f2ada8898f40d02e68c3834ca39d8e8 Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| ef03e78f | 03-Sep-2021 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "erratas" into integration
* changes: errata: workaround for Neoverse N2 erratum 2138956 errata: workaround for Neoverse N2 erratum 2189731 errata: workaround for Cort
Merge changes from topic "erratas" into integration
* changes: errata: workaround for Neoverse N2 erratum 2138956 errata: workaround for Neoverse N2 erratum 2189731 errata: workaround for Cortex-A710 erratum 2017096 errata: workaround for Cortex-A710 erratum 2055002
show more ...
|
| 1cafb08d | 01-Sep-2021 |
Bipin Ravi <bipin.ravi@arm.com> |
errata: workaround for Neoverse N2 erratum 2138956
Neoverse N2 erratum 2138956 is a Cat B erratum that applies to revision r0p0 and is still open. This erratum can be avoided by inserting a sequence
errata: workaround for Neoverse N2 erratum 2138956
Neoverse N2 erratum 2138956 is a Cat B erratum that applies to revision r0p0 and is still open. This erratum can be avoided by inserting a sequence of 16 DMB ST instructions prior to WFI or WFE.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1982442/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I1aac87b3075992f875451e4767b21857f596d0b2
show more ...
|
| 7cfae932 | 30-Aug-2021 |
Bipin Ravi <bipin.ravi@arm.com> |
errata: workaround for Neoverse N2 erratum 2189731
Neoverse N2 erratum 2189731 is a Cat B erratum that applies to revision r0p0 and is still open. The workaround is to set CPUACTLR5_EL1[44] to 1 whi
errata: workaround for Neoverse N2 erratum 2189731
Neoverse N2 erratum 2189731 is a Cat B erratum that applies to revision r0p0 and is still open. The workaround is to set CPUACTLR5_EL1[44] to 1 which will cause the CPP instruction to invalidate the hardware prefetcher state trained from any EL.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1982442/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: Iddc6a59adf9fa3cab560c46f2133e1f5a8b3ad03
show more ...
|
| afc2ed63 | 31-Mar-2021 |
Bipin Ravi <bipin.ravi@arm.com> |
errata: workaround for Cortex-A710 erratum 2017096
Cortex-A710 erratum 2017096 is a Cat B erratum that applies to revisions r0p0, r1p0 & r2p0 and is still open. The workaround is to set CPUECLTR_EL1
errata: workaround for Cortex-A710 erratum 2017096
Cortex-A710 erratum 2017096 is a Cat B erratum that applies to revisions r0p0, r1p0 & r2p0 and is still open. The workaround is to set CPUECLTR_EL1[8] to 1 which disables store issue prefetching.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775101/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: If5f61ec30dbc2fab7f2c68663996057086e374e3
show more ...
|
| 213afde9 | 31-Mar-2021 |
Bipin Ravi <bipin.ravi@arm.com> |
errata: workaround for Cortex-A710 erratum 2055002
Cortex-A710 erratum 2055002 is a Cat B erratum that applies to revisions r1p0 & r2p0 and is still open. The workaround is to set CPUACTLR_EL1[46] t
errata: workaround for Cortex-A710 erratum 2055002
Cortex-A710 erratum 2055002 is a Cat B erratum that applies to revisions r1p0 & r2p0 and is still open. The workaround is to set CPUACTLR_EL1[46] to force L2 tag ECC inline correction mode. This workaround works on revision r1p0 & r2p0.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775101/latest
Signed-off-by: Bipin Ravi <bipin.ravi@arm.com> Change-Id: I67be1dce53c4651167d8cee33c116e73b9dafe81
show more ...
|
| b7942a91 | 03-Sep-2021 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "erratas" into integration
* changes: errata: workaround for Neoverse N2 erratum 2025414 errata: workaround for Neoverse N2 erratum 2067956 |