Commit 6ff51439 authored by danh-arm's avatar danh-arm
Browse files

Merge pull request #257 from soby-mathew/sm/opt_mmap_reg

Minimize MAX_MMAP_REGIONS for each BL stage
parents 68fc8174 ce41250e
...@@ -115,6 +115,9 @@ const mmap_region_t fvp_mmap[] = { ...@@ -115,6 +115,9 @@ const mmap_region_t fvp_mmap[] = {
}; };
#endif #endif
CASSERT((sizeof(fvp_mmap)/sizeof(fvp_mmap[0])) + FVP_BL_REGIONS \
<= MAX_MMAP_REGIONS, assert_max_mmap_regions);
/* Array of secure interrupts to be configured by the gic driver */ /* Array of secure interrupts to be configured by the gic driver */
const unsigned int irq_sec_array[] = { const unsigned int irq_sec_array[] = {
IRQ_TZ_WDOG, IRQ_TZ_WDOG,
......
...@@ -150,6 +150,33 @@ ...@@ -150,6 +150,33 @@
#define FUNC_SHUTDOWN 0x08 #define FUNC_SHUTDOWN 0x08
#define FUNC_REBOOT 0x09 #define FUNC_REBOOT 0x09
/*
* The 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 FVP_BL_REGIONS 3
#else
#define FVP_BL_REGIONS 2
#endif
/*
* The FVP_MAX_MMAP_REGIONS depend on the number of entries in fvp_mmap[]
* defined for each BL stage in fvp_common.c.
*/
#if IMAGE_BL1
#define FVP_MMAP_ENTRIES 5
#endif
#if IMAGE_BL2
#define FVP_MMAP_ENTRIES 7
#endif
#if IMAGE_BL31
#define FVP_MMAP_ENTRIES 4
#endif
#if IMAGE_BL32
#define FVP_MMAP_ENTRIES 3
#endif
/* Load address of BL33 in the FVP port */ /* Load address of BL33 in the FVP port */
#define NS_IMAGE_OFFSET (DRAM1_BASE + 0x8000000) /* DRAM + 128MB */ #define NS_IMAGE_OFFSET (DRAM1_BASE + 0x8000000) /* DRAM + 128MB */
......
...@@ -208,7 +208,7 @@ ...@@ -208,7 +208,7 @@
# endif # endif
#endif #endif
#define MAX_MMAP_REGIONS 16 #define MAX_MMAP_REGIONS (FVP_MMAP_ENTRIES + FVP_BL_REGIONS)
/******************************************************************************* /*******************************************************************************
* Declarations and constants to access the mailboxes safely. Each mailbox is * Declarations and constants to access the mailboxes safely. Each mailbox is
......
...@@ -114,6 +114,9 @@ static const mmap_region_t juno_mmap[] = { ...@@ -114,6 +114,9 @@ static const mmap_region_t juno_mmap[] = {
}; };
#endif #endif
CASSERT((sizeof(juno_mmap)/sizeof(juno_mmap[0])) + JUNO_BL_REGIONS \
<= MAX_MMAP_REGIONS, assert_max_mmap_regions);
/* Array of secure interrupts to be configured by the gic driver */ /* Array of secure interrupts to be configured by the gic driver */
const unsigned int irq_sec_array[] = { const unsigned int irq_sec_array[] = {
IRQ_MHU, IRQ_MHU,
......
...@@ -183,7 +183,7 @@ ...@@ -183,7 +183,7 @@
# define MAX_XLAT_TABLES 3 # define MAX_XLAT_TABLES 3
#endif #endif
#define MAX_MMAP_REGIONS 16 #define MAX_MMAP_REGIONS (JUNO_MMAP_ENTRIES + JUNO_BL_REGIONS)
/******************************************************************************* /*******************************************************************************
* ID of the secure physical generic timer interrupt used by the TSP * ID of the secure physical generic timer interrupt used by the TSP
......
...@@ -140,6 +140,33 @@ ...@@ -140,6 +140,33 @@
#define SYS_LED_EL_SHIFT 0x1 #define SYS_LED_EL_SHIFT 0x1
#define SYS_LED_EC_SHIFT 0x3 #define SYS_LED_EC_SHIFT 0x3
/*
* The 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 JUNO_BL_REGIONS 3
#else
#define JUNO_BL_REGIONS 2
#endif
/*
* The JUNO_MAX_MMAP_REGIONS depend on the number of entries in juno_mmap[]
* defined for each BL stage in juno_common.c.
*/
#if IMAGE_BL1
#define JUNO_MMAP_ENTRIES 6
#endif
#if IMAGE_BL2
#define JUNO_MMAP_ENTRIES 8
#endif
#if IMAGE_BL31
#define JUNO_MMAP_ENTRIES 5
#endif
#if IMAGE_BL32
#define JUNO_MMAP_ENTRIES 4
#endif
/******************************************************************************* /*******************************************************************************
* GIC-400 & interrupt handling related constants * GIC-400 & interrupt handling related constants
******************************************************************************/ ******************************************************************************/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment