mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-09-14 18:21:08 +02:00
On ARM platforms, the maximum size of the address space is limited to 32-bits as defined in arm_def.h. In order to access DRAM2, which is defined beyond the 32-bit address space, the maximum address space is increased to 36-bits in AArch64. It is possible to increase the virtual space for AArch32, but it is more difficult and not supported for now. NOTE - the actual maximum memory address space is platform dependent and is checked at run-time by querying the PARange field in the ID_AA64MMFR0_EL1 register. Change-Id: I6cb05c78a63b1fed96db9a9773faca04a5b93d67 Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
85 lines
1.5 KiB
C
85 lines
1.5 KiB
C
/*
|
|
* Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
#include <arm_def.h>
|
|
#include <plat_arm.h>
|
|
|
|
/*
|
|
* Table of memory regions for different BL stages to map using the MMU.
|
|
* This doesn't include Trusted SRAM as arm_setup_page_tables() already
|
|
* takes care of mapping it.
|
|
*/
|
|
#ifdef IMAGE_BL1
|
|
const mmap_region_t plat_arm_mmap[] = {
|
|
ARM_MAP_SHARED_RAM,
|
|
V2M_MAP_FLASH0_RO,
|
|
V2M_MAP_IOFPGA,
|
|
CSS_MAP_DEVICE,
|
|
SOC_CSS_MAP_DEVICE,
|
|
#if TRUSTED_BOARD_BOOT
|
|
/* Map DRAM to authenticate NS_BL2U image. */
|
|
ARM_MAP_NS_DRAM1,
|
|
#endif
|
|
{0}
|
|
};
|
|
#endif
|
|
#ifdef IMAGE_BL2
|
|
const mmap_region_t plat_arm_mmap[] = {
|
|
ARM_MAP_SHARED_RAM,
|
|
V2M_MAP_FLASH0_RO,
|
|
#ifdef PLAT_ARM_MEM_PROT_ADDR
|
|
ARM_V2M_MAP_MEM_PROTECT,
|
|
#endif
|
|
V2M_MAP_IOFPGA,
|
|
CSS_MAP_DEVICE,
|
|
SOC_CSS_MAP_DEVICE,
|
|
ARM_MAP_NS_DRAM1,
|
|
#ifdef AARCH64
|
|
ARM_MAP_DRAM2,
|
|
#endif
|
|
#ifdef SPD_tspd
|
|
ARM_MAP_TSP_SEC_MEM,
|
|
#endif
|
|
#ifdef SPD_opteed
|
|
ARM_MAP_OPTEE_CORE_MEM,
|
|
ARM_OPTEE_PAGEABLE_LOAD_MEM,
|
|
#endif
|
|
{0}
|
|
};
|
|
#endif
|
|
#ifdef IMAGE_BL2U
|
|
const mmap_region_t plat_arm_mmap[] = {
|
|
ARM_MAP_SHARED_RAM,
|
|
CSS_MAP_DEVICE,
|
|
SOC_CSS_MAP_DEVICE,
|
|
{0}
|
|
};
|
|
#endif
|
|
#ifdef IMAGE_BL31
|
|
const mmap_region_t plat_arm_mmap[] = {
|
|
ARM_MAP_SHARED_RAM,
|
|
V2M_MAP_IOFPGA,
|
|
CSS_MAP_DEVICE,
|
|
#ifdef PLAT_ARM_MEM_PROT_ADDR
|
|
ARM_V2M_MAP_MEM_PROTECT,
|
|
#endif
|
|
SOC_CSS_MAP_DEVICE,
|
|
{0}
|
|
};
|
|
#endif
|
|
#ifdef IMAGE_BL32
|
|
const mmap_region_t plat_arm_mmap[] = {
|
|
#ifdef AARCH32
|
|
ARM_MAP_SHARED_RAM,
|
|
#endif
|
|
V2M_MAP_IOFPGA,
|
|
CSS_MAP_DEVICE,
|
|
SOC_CSS_MAP_DEVICE,
|
|
{0}
|
|
};
|
|
#endif
|
|
|
|
ARM_CASSERT_MMAP
|