| 672d669d | 27-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
fix(plat/fvp): allow changing the kernel DTB load address
We currently use ARM_PRELOADED_DTB_BASE build variable to pass the kernel DTB base address to the kernel when using the ARM_LINUX_KERNEL_AS_
fix(plat/fvp): allow changing the kernel DTB load address
We currently use ARM_PRELOADED_DTB_BASE build variable to pass the kernel DTB base address to the kernel when using the ARM_LINUX_KERNEL_AS_BL33 option. However this variable doesn't actually change the DTB load address.
The DTB load address is actually specified in the FW_CONFIG DTS (fvp_fw_config.dts) as 'hw_config'. This patch passes the hw_config value instead of ARM_PRELOADED_DTB_BASE allowing us to change the kernel DTB load address through fvp_fw_config.dts.
With this change we don't need the ARM_PRELOADED_DTB_BASE build variable if RESET_TO_BL31 is not set. Note that the hw_config value needs to be within the ARM_DTB_DRAM_NS region specified by FVP_DTB_DRAM_MAP_START and FVP_DTB_DRAM_MAP_SIZE.
This patch also expands the ARM_DTB_DRAM_NS region to 32MB.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: Idd74cdf5d2c649bb320644392ba5d69e175a53a9
show more ...
|
| deb4b3a6 | 13-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(plat/arm): add GPT initialization code for Arm platforms
When RME is enabled, during configuration of the TrustZone controller, Root regions are initially configured as Secure regions, and Real
feat(plat/arm): add GPT initialization code for Arm platforms
When RME is enabled, during configuration of the TrustZone controller, Root regions are initially configured as Secure regions, and Realm regions as Non-secure regions. Then later these regions are configured as Root and Realm regions respectively in the GPT. According to the RME architecture reference manual, Root firmware must ensure that Granule Protection Check is enabled before enabling any stage of translation. Therefore initializations are done as follows when RME is enabled :
Initialize/enable the TrustZone controller (plat_arm_security_setup) --> Initialize/enable GPC (arm_bl2_plat_gpt_setup) --> enable MMU (enable_mmu_el3)
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I91094e8259079437bee02de1f65edb9ad51e43cf
show more ...
|
| c8720729 | 13-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
feat(plat/fvp): add memory map for FVP platform for FEAT_RME
When FEAT_RME is enabled, memory is divided into four Physical Address Spaces (PAS): Root, Realm, Secure and Non-secure. This patch intro
feat(plat/fvp): add memory map for FVP platform for FEAT_RME
When FEAT_RME is enabled, memory is divided into four Physical Address Spaces (PAS): Root, Realm, Secure and Non-secure. This patch introduces new carveouts for the Trusted SRAM and DRAM for the FVP platform accordingly.
The following new regions are introduced with this change:
ARM_MAP_L0_GPT_REGION: Trusted SRAM region used to store Level 0 Granule Protection Table (GPT). This region resides in the Root PAS.
ARM_MAP_GPT_L1_DRAM: DRAM region used to store Level 1 GPT. It resides in the Root PAS.
ARM_MAP_RMM_DRAM: DRAM region used to store RMM image. It resides in the Realm PAS.
The L0 GPT is stored on Trusted SRAM next to firmware configuration memory. The DRAM carveout when RME is enable is modified as follow:
-------------------- | | | AP TZC (~28MB) | -------------------- | | | REALM (32MB) | -------------------- | | | EL3 TZC (3MB) | -------------------- | L1 GPT + SCP TZC | | (~1MB) | 0xFFFF_FFFF --------------------
During initialization of the TrustZone controller, Root regions are configured as Secure regions. Then they are later reconfigured to Root upon GPT initialization.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: If2e257141d51f51f715b70d4a06f18af53607254
show more ...
|
| 4bb72c47 | 13-Jul-2021 |
Zelalem Aweke <zelalem.aweke@arm.com> |
refactor(plat/arm): modify memory region attributes to account for FEAT_RME
If FEAT_RME is enabled, EL3 runs in the Root world as opposed to Secure world. This patch changes EL3 memory region attrib
refactor(plat/arm): modify memory region attributes to account for FEAT_RME
If FEAT_RME is enabled, EL3 runs in the Root world as opposed to Secure world. This patch changes EL3 memory region attributes for Arm platforms accordingly.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: Ie176f8b440ff34330e4e44bd3bf8d9703b3892ff
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 ...
|
| ef1daa42 | 22-Feb-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(plat/arm): add GPT parser support
Added GPT parser support in BL2 for Arm platforms to get the entry address and length of the FIP in the GPT image.
Also, increased BL2 maximum size for FVP pl
feat(plat/arm): add GPT parser support
Added GPT parser support in BL2 for Arm platforms to get the entry address and length of the FIP in the GPT image.
Also, increased BL2 maximum size for FVP platform to successfully compile ROM-enabled build with this change.
Verified this change using a patch: https://review.trustedfirmware.org/c/ci/tf-a-ci-scripts/+/9654
Change-Id: Ie8026db054966653b739a82d9ba106d283f534d0 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|