Merge pull request #1506 from danielboulby-arm/db/SeparateCodeAndROData

Fix build for SEPARATE_CODE_AND_RODATA=0
This commit is contained in:
Dimitris Papastamos 2018-08-03 10:56:47 +01:00 committed by GitHub
commit f68bc8a1c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 34 additions and 25 deletions

View File

@ -241,16 +241,25 @@
ARM_EL3_TZC_DRAM1_SIZE, \
MT_MEMORY | MT_RW | MT_SECURE)
/*
* If SEPARATE_CODE_AND_RODATA=1 we define a region for each section
* otherwise one region is defined containing both.
*/
#if SEPARATE_CODE_AND_RODATA
#define ARM_MAP_BL_CODE MAP_REGION_FLAT( \
#define ARM_MAP_BL_RO MAP_REGION_FLAT( \
BL_CODE_BASE, \
BL_CODE_END - BL_CODE_BASE, \
MT_CODE | MT_SECURE)
#define ARM_MAP_BL_RO_DATA MAP_REGION_FLAT( \
MT_CODE | MT_SECURE), \
MAP_REGION_FLAT( \
BL_RO_DATA_BASE, \
BL_RO_DATA_END \
- BL_RO_DATA_BASE, \
MT_RO_DATA | MT_SECURE)
#else
#define ARM_MAP_BL_RO MAP_REGION_FLAT( \
BL_CODE_BASE, \
BL_CODE_END - BL_CODE_BASE, \
MT_CODE | MT_SECURE)
#endif
#if USE_COHERENT_MEM
#define ARM_MAP_BL_COHERENT_RAM MAP_REGION_FLAT( \
@ -261,14 +270,10 @@
#endif
/*
* The number of regions like RO(code), coherent and data required by
* The max number of regions like RO(code), coherent and data required by
* different BL stages which need to be mapped in the MMU.
*/
#if USE_COHERENT_MEM
# define ARM_BL_REGIONS 4
#else
# define ARM_BL_REGIONS 3
#endif
#define MAX_MMAP_REGIONS (PLAT_ARM_MMAP_ENTRIES + \
ARM_BL_REGIONS)

View File

@ -28,15 +28,26 @@
bl1_tzram_layout.total_base, \
bl1_tzram_layout.total_size, \
MT_MEMORY | MT_RW | MT_SECURE)
#define MAP_BL1_CODE MAP_REGION_FLAT( \
/*
* If SEPARATE_CODE_AND_RODATA=1 we define a region for each section
* otherwise one region is defined containing both
*/
#if SEPARATE_CODE_AND_RODATA
#define MAP_BL1_RO MAP_REGION_FLAT( \
BL_CODE_BASE, \
BL1_CODE_END - BL_CODE_BASE, \
MT_CODE | MT_SECURE)
#define MAP_BL1_RO_DATA MAP_REGION_FLAT( \
MT_CODE | MT_SECURE), \
MAP_REGION_FLAT( \
BL1_RO_DATA_BASE, \
BL1_RO_DATA_END \
- BL_RO_DATA_BASE, \
MT_RO_DATA | MT_SECURE)
#else
#define MAP_BL1_RO MAP_REGION_FLAT( \
BL_CODE_BASE, \
BL1_CODE_END - BL_CODE_BASE, \
MT_CODE | MT_SECURE)
#endif
/* Data structure which holds the extents of the trusted SRAM for BL1*/
static meminfo_t bl1_tzram_layout;
@ -105,8 +116,7 @@ void arm_bl1_plat_arch_setup(void)
const mmap_region_t bl_regions[] = {
MAP_BL1_TOTAL,
MAP_BL1_CODE,
MAP_BL1_RO_DATA,
MAP_BL1_RO,
{0}
};

View File

@ -75,8 +75,7 @@ void arm_bl2_el3_plat_arch_setup(void)
const mmap_region_t bl_regions[] = {
MAP_BL2_EL3_TOTAL,
ARM_MAP_BL_CODE,
ARM_MAP_BL_RO_DATA,
ARM_MAP_BL_RO,
{0}
};

View File

@ -245,8 +245,7 @@ void arm_bl2_plat_arch_setup(void)
const mmap_region_t bl_regions[] = {
MAP_BL2_TOTAL,
ARM_MAP_BL_CODE,
ARM_MAP_BL_RO_DATA,
ARM_MAP_BL_RO,
{0}
};

View File

@ -72,8 +72,7 @@ void arm_bl2u_plat_arch_setup(void)
const mmap_region_t bl_regions[] = {
MAP_BL2U_TOTAL,
ARM_MAP_BL_CODE,
ARM_MAP_BL_RO_DATA,
ARM_MAP_BL_RO,
{0}
};

View File

@ -287,8 +287,7 @@ void arm_bl31_plat_arch_setup(void)
const mmap_region_t bl_regions[] = {
MAP_BL31_TOTAL,
ARM_MAP_BL_CODE,
ARM_MAP_BL_RO_DATA,
ARM_MAP_BL_RO,
#if USE_COHERENT_MEM
ARM_MAP_BL_COHERENT_RAM,
#endif

View File

@ -203,8 +203,7 @@ void sp_min_plat_arch_setup(void)
{
const mmap_region_t bl_regions[] = {
MAP_BL_SP_MIN_TOTAL,
ARM_MAP_BL_CODE,
ARM_MAP_BL_RO_DATA,
ARM_MAP_BL_RO,
#if USE_COHERENT_MEM
ARM_MAP_BL_COHERENT_RAM,
#endif

View File

@ -81,8 +81,7 @@ void tsp_plat_arch_setup(void)
const mmap_region_t bl_regions[] = {
MAP_BL_TSP_TOTAL,
ARM_MAP_BL_CODE,
ARM_MAP_BL_RO_DATA,
ARM_MAP_BL_RO,
{0}
};