mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 01:54:22 +00:00
feat(arm): carveout DRAM1 area for Event Log
Reserved 4KB area for Event Log in DRAM1. This area is used by BL2 to copy Event Log from internal SRAM to this carved out DRAM region in the subsequent patch. Change-Id: I7b405775c66d249e31edf7688d95770e6c05c175 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
This commit is contained in:
parent
1035e3a87a
commit
6b2e961fb1
3 changed files with 56 additions and 10 deletions
|
@ -82,6 +82,7 @@
|
|||
* - L1 GPT DRAM: Reserved for L1 GPT if RME is enabled
|
||||
* - REALM DRAM: Reserved for Realm world if RME is enabled
|
||||
* - TF-A <-> RMM SHARED: Area shared for communication between TF-A and RMM
|
||||
* - Event Log: Area for Event Log if MEASURED_BOOT feature is enabled
|
||||
* - AP TZC DRAM: The remaining TZC secured DRAM reserved for AP use
|
||||
*
|
||||
* RME enabled(64MB) RME not enabled(16MB)
|
||||
|
@ -89,13 +90,15 @@
|
|||
* | | | |
|
||||
* | AP TZC (~28MB) | | AP TZC (~14MB) |
|
||||
* -------------------- -------------------
|
||||
* | Event Log | | Event Log |
|
||||
* | (4KB) | | (4KB) |
|
||||
* -------------------- -------------------
|
||||
* | REALM (RMM) | | |
|
||||
* | (32MB - 4KB) | | EL3 TZC (2MB) |
|
||||
* -------------------- -------------------
|
||||
* | | | |
|
||||
* | REALM (RMM) | | EL3 TZC (2MB) |
|
||||
* | (32MB - 4KB) | -------------------
|
||||
* -------------------- | |
|
||||
* | | | SCP TZC |
|
||||
* | TF-A <-> RMM | 0xFFFF_FFFF-------------------
|
||||
* | SHARED (4KB) |
|
||||
* | TF-A <-> RMM | | SCP TZC |
|
||||
* | SHARED (4KB) | 0xFFFF_FFFF-------------------
|
||||
* --------------------
|
||||
* | |
|
||||
* | EL3 TZC (3MB) |
|
||||
|
@ -114,7 +117,6 @@
|
|||
*/
|
||||
#define ARM_EL3_TZC_DRAM1_SIZE UL(0x00300000) /* 3MB */
|
||||
#define ARM_L1_GPT_SIZE UL(0x00100000) /* 1MB */
|
||||
|
||||
/* 32MB - ARM_EL3_RMM_SHARED_SIZE */
|
||||
#define ARM_REALM_SIZE (UL(0x02000000) - \
|
||||
ARM_EL3_RMM_SHARED_SIZE)
|
||||
|
@ -134,6 +136,25 @@
|
|||
#define ARM_SCP_TZC_DRAM1_SIZE PLAT_ARM_SCP_TZC_DRAM1_SIZE
|
||||
#define ARM_SCP_TZC_DRAM1_END (ARM_SCP_TZC_DRAM1_BASE + \
|
||||
ARM_SCP_TZC_DRAM1_SIZE - 1U)
|
||||
|
||||
# if (defined(SPD_tspd) || defined(SPD_opteed) || defined(SPD_spmd)) && \
|
||||
MEASURED_BOOT
|
||||
#define ARM_EVENT_LOG_DRAM1_SIZE UL(0x00001000) /* 4KB */
|
||||
|
||||
#if ENABLE_RME
|
||||
#define ARM_EVENT_LOG_DRAM1_BASE (ARM_REALM_BASE - \
|
||||
ARM_EVENT_LOG_DRAM1_SIZE)
|
||||
#else
|
||||
#define ARM_EVENT_LOG_DRAM1_BASE (ARM_EL3_TZC_DRAM1_BASE - \
|
||||
ARM_EVENT_LOG_DRAM1_SIZE)
|
||||
#endif /* ENABLE_RME */
|
||||
#define ARM_EVENT_LOG_DRAM1_END (ARM_EVENT_LOG_DRAM1_BASE + \
|
||||
ARM_EVENT_LOG_DRAM1_SIZE - \
|
||||
1U)
|
||||
#else
|
||||
#define ARM_EVENT_LOG_DRAM1_SIZE UL(0)
|
||||
#endif /* (SPD_tspd || SPD_opteed || SPD_spmd) && MEASURED_BOOT */
|
||||
|
||||
#if ENABLE_RME
|
||||
#define ARM_L1_GPT_ADDR_BASE (ARM_DRAM1_BASE + \
|
||||
ARM_DRAM1_SIZE - \
|
||||
|
@ -170,7 +191,9 @@
|
|||
ARM_EL3_TZC_DRAM1_SIZE + \
|
||||
ARM_EL3_RMM_SHARED_SIZE + \
|
||||
ARM_REALM_SIZE + \
|
||||
ARM_L1_GPT_SIZE))
|
||||
ARM_L1_GPT_SIZE + \
|
||||
ARM_EVENT_LOG_DRAM1_SIZE))
|
||||
|
||||
#define ARM_AP_TZC_DRAM1_END (ARM_AP_TZC_DRAM1_BASE + \
|
||||
ARM_AP_TZC_DRAM1_SIZE - 1U)
|
||||
|
||||
|
@ -313,6 +336,15 @@
|
|||
PLAT_ARM_TRUSTED_DRAM_SIZE, \
|
||||
MT_MEMORY | MT_RW | MT_SECURE)
|
||||
|
||||
# if (defined(SPD_tspd) || defined(SPD_opteed) || defined(SPD_spmd)) && \
|
||||
MEASURED_BOOT
|
||||
#define ARM_MAP_EVENT_LOG_DRAM1 \
|
||||
MAP_REGION_FLAT( \
|
||||
ARM_EVENT_LOG_DRAM1_BASE, \
|
||||
ARM_EVENT_LOG_DRAM1_SIZE, \
|
||||
MT_MEMORY | MT_RW | MT_SECURE)
|
||||
#endif /* (SPD_tspd || SPD_opteed || SPD_spmd) && MEASURED_BOOT */
|
||||
|
||||
#if ENABLE_RME
|
||||
/*
|
||||
* We add the EL3_RMM_SHARED size to RMM mapping to map the region as a block.
|
||||
|
|
|
@ -111,6 +111,15 @@ const mmap_region_t plat_arm_mmap[] = {
|
|||
* Required to load HW_CONFIG, SPMC and SPs to trusted DRAM.
|
||||
*/
|
||||
ARM_MAP_TRUSTED_DRAM,
|
||||
|
||||
/*
|
||||
* Required to load Event Log in TZC secured memory
|
||||
*/
|
||||
#if MEASURED_BOOT && (defined(SPD_tspd) || defined(SPD_opteed) || \
|
||||
defined(SPD_spmd))
|
||||
ARM_MAP_EVENT_LOG_DRAM1,
|
||||
#endif /* MEASURED_BOOT && (SPD_tspd || SPD_opteed || SPD_spmd) */
|
||||
|
||||
#if ENABLE_RME
|
||||
ARM_MAP_RMM_DRAM,
|
||||
ARM_MAP_GPT_L1_DRAM,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2014-2022, Arm Limited and Contributors. All rights reserved.
|
||||
* Copyright (c) 2014-2023, Arm Limited and Contributors. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
@ -168,7 +168,12 @@
|
|||
# define MAX_XLAT_TABLES 5
|
||||
#else
|
||||
# define PLAT_ARM_MMAP_ENTRIES 12
|
||||
# define MAX_XLAT_TABLES 6
|
||||
# if (defined(SPD_tspd) || defined(SPD_opteed) || defined(SPD_spmd)) && \
|
||||
defined(IMAGE_BL2) && MEASURED_BOOT
|
||||
# define MAX_XLAT_TABLES 7
|
||||
# else
|
||||
# define MAX_XLAT_TABLES 6
|
||||
# endif /* (SPD_tspd || SPD_opteed || SPD_spmd) && IMAGE_BL2 && MEASURED_BOOT */
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Reference in a new issue