feat(qemu): update mapping types for RME

With RME, mappings for EL3 use MT_ROOT rather than MT_SECURE. Update the
mapping types to select the right memory type: EL3_PAS is MT_ROOT when
RME is enabled, MT_SECURE otherwise.

Change-Id: I93e287009515b64e833a6f69545766be4c87e473
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
This commit is contained in:
Jean-Philippe Brucker 2023-09-07 17:46:12 +01:00
parent c69e95eed0
commit a5ab1ef7fe
2 changed files with 14 additions and 14 deletions

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2015-2023, Arm Limited and Contributors. All rights reserved. * Copyright (c) 2015-2024, Arm Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -29,24 +29,24 @@
#define MAP_BL2_TOTAL MAP_REGION_FLAT( \ #define MAP_BL2_TOTAL MAP_REGION_FLAT( \
bl2_tzram_layout.total_base, \ bl2_tzram_layout.total_base, \
bl2_tzram_layout.total_size, \ bl2_tzram_layout.total_size, \
MT_MEMORY | MT_RW | MT_SECURE) MT_MEMORY | MT_RW | EL3_PAS)
#define MAP_BL2_RO MAP_REGION_FLAT( \ #define MAP_BL2_RO MAP_REGION_FLAT( \
BL_CODE_BASE, \ BL_CODE_BASE, \
BL_CODE_END - BL_CODE_BASE, \ BL_CODE_END - BL_CODE_BASE, \
MT_CODE | MT_SECURE), \ MT_CODE | EL3_PAS), \
MAP_REGION_FLAT( \ MAP_REGION_FLAT( \
BL_RO_DATA_BASE, \ BL_RO_DATA_BASE, \
BL_RO_DATA_END \ BL_RO_DATA_END \
- BL_RO_DATA_BASE, \ - BL_RO_DATA_BASE, \
MT_RO_DATA | MT_SECURE) MT_RO_DATA | EL3_PAS)
#if USE_COHERENT_MEM #if USE_COHERENT_MEM
#define MAP_BL_COHERENT_RAM MAP_REGION_FLAT( \ #define MAP_BL_COHERENT_RAM MAP_REGION_FLAT( \
BL_COHERENT_RAM_BASE, \ BL_COHERENT_RAM_BASE, \
BL_COHERENT_RAM_END \ BL_COHERENT_RAM_END \
- BL_COHERENT_RAM_BASE, \ - BL_COHERENT_RAM_BASE, \
MT_DEVICE | MT_RW | MT_SECURE) MT_DEVICE | MT_RW | EL3_PAS)
#endif #endif
/* Data structure which holds the extents of the trusted SRAM for BL2 */ /* Data structure which holds the extents of the trusted SRAM for BL2 */

View file

@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2015-2023, Arm Limited and Contributors. All rights reserved. * Copyright (c) 2015-2024, Arm Limited and Contributors. All rights reserved.
* *
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
@ -17,39 +17,39 @@
#define MAP_DEVICE0 MAP_REGION_FLAT(DEVICE0_BASE, \ #define MAP_DEVICE0 MAP_REGION_FLAT(DEVICE0_BASE, \
DEVICE0_SIZE, \ DEVICE0_SIZE, \
MT_DEVICE | MT_RW | MT_SECURE) MT_DEVICE | MT_RW | EL3_PAS)
#ifdef DEVICE1_BASE #ifdef DEVICE1_BASE
#define MAP_DEVICE1 MAP_REGION_FLAT(DEVICE1_BASE, \ #define MAP_DEVICE1 MAP_REGION_FLAT(DEVICE1_BASE, \
DEVICE1_SIZE, \ DEVICE1_SIZE, \
MT_DEVICE | MT_RW | MT_SECURE) MT_DEVICE | MT_RW | EL3_PAS)
#endif #endif
#ifdef DEVICE2_BASE #ifdef DEVICE2_BASE
#define MAP_DEVICE2 MAP_REGION_FLAT(DEVICE2_BASE, \ #define MAP_DEVICE2 MAP_REGION_FLAT(DEVICE2_BASE, \
DEVICE2_SIZE, \ DEVICE2_SIZE, \
MT_DEVICE | MT_RW | MT_SECURE) MT_DEVICE | MT_RW | EL3_PAS)
#endif #endif
#define MAP_SHARED_RAM MAP_REGION_FLAT(SHARED_RAM_BASE, \ #define MAP_SHARED_RAM MAP_REGION_FLAT(SHARED_RAM_BASE, \
SHARED_RAM_SIZE, \ SHARED_RAM_SIZE, \
MT_DEVICE | MT_RW | MT_SECURE) MT_DEVICE | MT_RW | EL3_PAS)
#define MAP_BL32_MEM MAP_REGION_FLAT(BL32_MEM_BASE, BL32_MEM_SIZE, \ #define MAP_BL32_MEM MAP_REGION_FLAT(BL32_MEM_BASE, BL32_MEM_SIZE, \
MT_MEMORY | MT_RW | MT_SECURE) MT_MEMORY | MT_RW | EL3_PAS)
#define MAP_NS_DRAM0 MAP_REGION_FLAT(NS_DRAM0_BASE, NS_DRAM0_SIZE, \ #define MAP_NS_DRAM0 MAP_REGION_FLAT(NS_DRAM0_BASE, NS_DRAM0_SIZE, \
MT_MEMORY | MT_RW | MT_NS) MT_MEMORY | MT_RW | MT_NS)
#define MAP_FLASH0 MAP_REGION_FLAT(QEMU_FLASH0_BASE, QEMU_FLASH0_SIZE, \ #define MAP_FLASH0 MAP_REGION_FLAT(QEMU_FLASH0_BASE, QEMU_FLASH0_SIZE, \
MT_MEMORY | MT_RO | MT_SECURE) MT_MEMORY | MT_RO | EL3_PAS)
#define MAP_FLASH1 MAP_REGION_FLAT(QEMU_FLASH1_BASE, QEMU_FLASH1_SIZE, \ #define MAP_FLASH1 MAP_REGION_FLAT(QEMU_FLASH1_BASE, QEMU_FLASH1_SIZE, \
MT_MEMORY | MT_RO | MT_SECURE) MT_MEMORY | MT_RO | EL3_PAS)
#ifdef FW_HANDOFF_BASE #ifdef FW_HANDOFF_BASE
#define MAP_FW_HANDOFF MAP_REGION_FLAT(FW_HANDOFF_BASE, FW_HANDOFF_SIZE, \ #define MAP_FW_HANDOFF MAP_REGION_FLAT(FW_HANDOFF_BASE, FW_HANDOFF_SIZE, \
MT_MEMORY | MT_RW | MT_SECURE) MT_MEMORY | MT_RW | EL3_PAS)
#endif #endif
#ifdef FW_NS_HANDOFF_BASE #ifdef FW_NS_HANDOFF_BASE
#define MAP_FW_NS_HANDOFF MAP_REGION_FLAT(FW_NS_HANDOFF_BASE, FW_HANDOFF_SIZE, \ #define MAP_FW_NS_HANDOFF MAP_REGION_FLAT(FW_NS_HANDOFF_BASE, FW_HANDOFF_SIZE, \