Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
6ff51439
Commit
6ff51439
authored
Feb 19, 2015
by
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
Changes
6
Hide whitespace changes
Inline
Side-by-side
plat/fvp/aarch64/fvp_common.c
View file @
6ff51439
...
@@ -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
,
...
...
plat/fvp/fvp_def.h
View file @
6ff51439
...
@@ -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 */
...
...
plat/fvp/include/platform_def.h
View file @
6ff51439
...
@@ -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
...
...
plat/juno/aarch64/juno_common.c
View file @
6ff51439
...
@@ -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
,
...
...
plat/juno/include/platform_def.h
View file @
6ff51439
...
@@ -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
...
...
plat/juno/juno_def.h
View file @
6ff51439
...
@@ -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
******************************************************************************/
******************************************************************************/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment