arm-trusted-firmware/plat
Zelalem Aweke c872072972 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
2021-10-05 11:56:00 -05:00
..
allwinner feat(plat/allwinner): add R329 support 2021-08-25 02:11:59 +08:00
amlogic Plat AXG: Fix PLAT_MAX_PWR_LVL value 2020-12-29 13:52:11 +00:00
arm feat(plat/fvp): add memory map for FVP platform for FEAT_RME 2021-10-05 11:56:00 -05:00
brcm Merge "driver: brcm: add USB driver" into integration 2021-04-12 16:44:11 +02:00
common refactor(plat/ea_handler): Use default ea handler implementation for panic 2021-08-13 11:12:11 +02:00
hisilicon plat/hisilicon: do not keep mmc_device_info in stack 2021-04-08 08:44:57 +02:00
imx Merge "feat(plat/imx/imx8m/imx8mm): enlarge BL33 (U-boot) size in FIP" into integration 2021-08-12 15:47:53 +02:00
intel/soc plat/intel: do not keep mmc_device_info in stack 2021-04-08 08:44:57 +02:00
layerscape Don't return error information from console_flush 2020-10-09 10:21:50 -05:00
marvell refactor(makefile): remove BL prefixes in build macros 2021-10-05 18:41:48 +02:00
mediatek fix(plat/mediatek/mt8195): fix coverity fail 2021-09-17 09:55:21 +08:00
nvidia/tegra refactor(tegra132): deprecate platform 2021-08-16 11:58:24 -07:00
nxp feat(plat/nxp/ls1028ardb): add ls1028ardb board support 2021-09-23 12:44:42 +08:00
qemu fix(plat/qemu): (NS_DRAM0_BASE + NS_DRAM0_SIZE) ADDR overflow 32bit 2021-08-18 16:13:22 +01:00
qti feat(plat/qti/sc7280): support for qti sc7280 plat 2021-09-22 10:05:45 +02:00
renesas refactor(plat/ea_handler): Use default ea handler implementation for panic 2021-08-13 11:12:11 +02:00
rockchip fix(rk3399/suspend): correct LPDDR4 resume sequence 2021-07-19 23:06:33 +02:00
rpi fix(rpi4): drop /memreserve/ region 2021-08-16 17:29:59 +01:00
socionext fix(plat/synquacer): update scmi power domain off handling 2021-09-14 11:24:30 +09:00
st fix(plat/st): add UART reset in crash console init 2021-09-20 13:57:10 +02:00
ti/k3 plat: ti: k3: board: Let explicitly map our SEC_SRAM_BASE to 0x0 2021-03-26 02:25:44 -05:00
xilinx feat(plat/xilinx/zynqmp): add support for runtime feature config 2021-08-18 22:27:05 -07:00