Merge pull request #671 from antonio-nino-diaz-arm/an/unoptimised-mem
ARM platforms: Define common image sizes
This commit is contained in:
commit
405f42f9cb
|
@ -465,12 +465,13 @@ map is explained in the [Firmware Design].
|
||||||
match the frame used by the Non-Secure image (normally the Linux kernel).
|
match the frame used by the Non-Secure image (normally the Linux kernel).
|
||||||
Default is true (access to the frame is allowed).
|
Default is true (access to the frame is allowed).
|
||||||
|
|
||||||
* `ARM_BOARD_OPTIMISE_MMAP`: Boolean option to enable or disable optimisation
|
* `ARM_BOARD_OPTIMISE_MEM`: Boolean option to enable or disable optimisation
|
||||||
of page table and MMU related macros `PLAT_ARM_MMAP_ENTRIES` and
|
of the memory reserved for each image. This affects the maximum size of each
|
||||||
`MAX_XLAT_TABLES`. By default this flag is 0, which means it uses the
|
BL image as well as the number of allocated memory regions and translation
|
||||||
default unoptimised values for these macros. ARM development platforms
|
tables. By default this flag is 0, which means it uses the default
|
||||||
that wish to optimise memory usage for page tables need to set this flag to 1
|
unoptimised values for these macros. ARM development platforms that wish to
|
||||||
and must override the related macros.
|
optimise memory usage need to set this flag to 1 and must override the
|
||||||
|
related macros.
|
||||||
|
|
||||||
* 'ARM_BL31_IN_DRAM': Boolean option to select loading of BL31 in TZC secured
|
* 'ARM_BL31_IN_DRAM': Boolean option to select loading of BL31 in TZC secured
|
||||||
DRAM. By default, BL31 is in the secure SRAM. Set this flag to 1 to load
|
DRAM. By default, BL31 is in the secure SRAM. Set this flag to 1 to load
|
||||||
|
|
|
@ -61,10 +61,10 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The constants below are not optimised for memory usage. Platforms that wish
|
* The constants below are not optimised for memory usage. Platforms that wish
|
||||||
* to optimise these constants should set `ARM_BOARD_OPTIMISE_MMAP` to 1 and
|
* to optimise these constants should set `ARM_BOARD_OPTIMISE_MEM` to 1 and
|
||||||
* provide there own values.
|
* provide there own values.
|
||||||
*/
|
*/
|
||||||
#if !ARM_BOARD_OPTIMISE_MMAP
|
#if !ARM_BOARD_OPTIMISE_MEM
|
||||||
/*
|
/*
|
||||||
* PLAT_ARM_MMAP_ENTRIES depends on the number of entries in the
|
* PLAT_ARM_MMAP_ENTRIES depends on the number of entries in the
|
||||||
* plat_arm_mmap array defined for each BL stage.
|
* plat_arm_mmap array defined for each BL stage.
|
||||||
|
@ -81,7 +81,29 @@
|
||||||
# define MAX_XLAT_TABLES 5
|
# define MAX_XLAT_TABLES 5
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* ARM_BOARD_OPTIMISE_MMAP */
|
/*
|
||||||
|
* PLAT_ARM_MAX_BL1_RW_SIZE is calculated using the current BL1 RW debug size
|
||||||
|
* plus a little space for growth.
|
||||||
|
*/
|
||||||
|
#define PLAT_ARM_MAX_BL1_RW_SIZE 0xA000
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PLAT_ARM_MAX_BL2_SIZE is calculated using the current BL2 debug size plus a
|
||||||
|
* little space for growth.
|
||||||
|
*/
|
||||||
|
#if TRUSTED_BOARD_BOOT
|
||||||
|
# define PLAT_ARM_MAX_BL2_SIZE 0x1D000
|
||||||
|
#else
|
||||||
|
# define PLAT_ARM_MAX_BL2_SIZE 0xF000
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PLAT_ARM_MAX_BL31_SIZE is calculated using the current BL31 debug size plus a
|
||||||
|
* little space for growth.
|
||||||
|
*/
|
||||||
|
#define PLAT_ARM_MAX_BL31_SIZE 0x1D000
|
||||||
|
|
||||||
|
#endif /* ARM_BOARD_OPTIMISE_MEM */
|
||||||
|
|
||||||
#define MAX_IO_DEVICES 3
|
#define MAX_IO_DEVICES 3
|
||||||
#define MAX_IO_HANDLES 4
|
#define MAX_IO_HANDLES 4
|
||||||
|
|
|
@ -61,8 +61,8 @@ ifneq (${TRUSTED_BOARD_BOOT},0)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# This flag controls whether memory usage needs to be optimised
|
# This flag controls whether memory usage needs to be optimised
|
||||||
ARM_BOARD_OPTIMISE_MMAP ?= 0
|
ARM_BOARD_OPTIMISE_MEM ?= 0
|
||||||
|
|
||||||
# Process flags
|
# Process flags
|
||||||
$(eval $(call assert_boolean,ARM_BOARD_OPTIMISE_MMAP))
|
$(eval $(call assert_boolean,ARM_BOARD_OPTIMISE_MEM))
|
||||||
$(eval $(call add_define,ARM_BOARD_OPTIMISE_MMAP))
|
$(eval $(call add_define,ARM_BOARD_OPTIMISE_MEM))
|
||||||
|
|
|
@ -146,26 +146,4 @@
|
||||||
|
|
||||||
#define PLAT_ARM_G0_IRQS ARM_G0_IRQS
|
#define PLAT_ARM_G0_IRQS ARM_G0_IRQS
|
||||||
|
|
||||||
/*
|
|
||||||
* PLAT_ARM_MAX_BL1_RW_SIZE is calculated using the current BL1 RW debug size
|
|
||||||
* plus a little space for growth.
|
|
||||||
*/
|
|
||||||
#define PLAT_ARM_MAX_BL1_RW_SIZE 0xA000
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PLAT_ARM_MAX_BL2_SIZE is calculated using the current BL2 debug size plus a
|
|
||||||
* little space for growth.
|
|
||||||
*/
|
|
||||||
#if TRUSTED_BOARD_BOOT
|
|
||||||
# define PLAT_ARM_MAX_BL2_SIZE 0x1D000
|
|
||||||
#else
|
|
||||||
# define PLAT_ARM_MAX_BL2_SIZE 0xC000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PLAT_ARM_MAX_BL31_SIZE is calculated using the current BL31 debug size plus a
|
|
||||||
* little space for growth.
|
|
||||||
*/
|
|
||||||
#define PLAT_ARM_MAX_BL31_SIZE 0x1D000
|
|
||||||
|
|
||||||
#endif /* __PLATFORM_DEF_H__ */
|
#endif /* __PLATFORM_DEF_H__ */
|
||||||
|
|
|
@ -74,10 +74,10 @@
|
||||||
#endif /* TRUSTED_BOARD_BOOT */
|
#endif /* TRUSTED_BOARD_BOOT */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If ARM_BOARD_OPTIMISE_MMAP=0 then Juno uses the default, unoptimised values
|
* If ARM_BOARD_OPTIMISE_MEM=0 then Juno uses the default, unoptimised values
|
||||||
* defined for ARM development platforms.
|
* defined for ARM development platforms.
|
||||||
*/
|
*/
|
||||||
#if ARM_BOARD_OPTIMISE_MMAP
|
#if ARM_BOARD_OPTIMISE_MEM
|
||||||
/*
|
/*
|
||||||
* PLAT_ARM_MMAP_ENTRIES depends on the number of entries in the
|
* PLAT_ARM_MMAP_ENTRIES depends on the number of entries in the
|
||||||
* plat_arm_mmap array defined for each BL stage.
|
* plat_arm_mmap array defined for each BL stage.
|
||||||
|
@ -107,7 +107,33 @@
|
||||||
# define MAX_XLAT_TABLES 3
|
# define MAX_XLAT_TABLES 3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* ARM_BOARD_OPTIMISE_MMAP */
|
/*
|
||||||
|
* PLAT_ARM_MAX_BL1_RW_SIZE is calculated using the current BL1 RW debug size
|
||||||
|
* plus a little space for growth.
|
||||||
|
*/
|
||||||
|
#if TRUSTED_BOARD_BOOT
|
||||||
|
# define PLAT_ARM_MAX_BL1_RW_SIZE 0x9000
|
||||||
|
#else
|
||||||
|
# define PLAT_ARM_MAX_BL1_RW_SIZE 0x6000
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PLAT_ARM_MAX_BL2_SIZE is calculated using the current BL2 debug size plus a
|
||||||
|
* little space for growth.
|
||||||
|
*/
|
||||||
|
#if TRUSTED_BOARD_BOOT
|
||||||
|
# define PLAT_ARM_MAX_BL2_SIZE 0x1D000
|
||||||
|
#else
|
||||||
|
# define PLAT_ARM_MAX_BL2_SIZE 0xC000
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PLAT_ARM_MAX_BL31_SIZE is calculated using the current BL31 debug size plus a
|
||||||
|
* little space for growth.
|
||||||
|
*/
|
||||||
|
#define PLAT_ARM_MAX_BL31_SIZE 0x1D000
|
||||||
|
|
||||||
|
#endif /* ARM_BOARD_OPTIMISE_MEM */
|
||||||
|
|
||||||
/* CCI related constants */
|
/* CCI related constants */
|
||||||
#define PLAT_ARM_CCI_BASE 0x2c090000
|
#define PLAT_ARM_CCI_BASE 0x2c090000
|
||||||
|
@ -183,30 +209,4 @@
|
||||||
/* CSS SoC NIC-400 Global Programmers View (GPV) */
|
/* CSS SoC NIC-400 Global Programmers View (GPV) */
|
||||||
#define PLAT_SOC_CSS_NIC400_BASE 0x2a000000
|
#define PLAT_SOC_CSS_NIC400_BASE 0x2a000000
|
||||||
|
|
||||||
/*
|
|
||||||
* PLAT_ARM_MAX_BL1_RW_SIZE is calculated using the current BL1 RW debug size
|
|
||||||
* plus a little space for growth.
|
|
||||||
*/
|
|
||||||
#if TRUSTED_BOARD_BOOT
|
|
||||||
# define PLAT_ARM_MAX_BL1_RW_SIZE 0x9000
|
|
||||||
#else
|
|
||||||
# define PLAT_ARM_MAX_BL1_RW_SIZE 0x6000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PLAT_ARM_MAX_BL2_SIZE is calculated using the current BL2 debug size plus a
|
|
||||||
* little space for growth.
|
|
||||||
*/
|
|
||||||
#if TRUSTED_BOARD_BOOT
|
|
||||||
# define PLAT_ARM_MAX_BL2_SIZE 0x1D000
|
|
||||||
#else
|
|
||||||
# define PLAT_ARM_MAX_BL2_SIZE 0xC000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PLAT_ARM_MAX_BL31_SIZE is calculated using the current BL31 debug size plus a
|
|
||||||
* little space for growth.
|
|
||||||
*/
|
|
||||||
#define PLAT_ARM_MAX_BL31_SIZE 0x1D000
|
|
||||||
|
|
||||||
#endif /* __PLATFORM_DEF_H__ */
|
#endif /* __PLATFORM_DEF_H__ */
|
||||||
|
|
|
@ -79,7 +79,7 @@ SKIP_A57_L1_FLUSH_PWR_DWN := 1
|
||||||
ENABLE_PLAT_COMPAT := 0
|
ENABLE_PLAT_COMPAT := 0
|
||||||
|
|
||||||
# Enable memory map related constants optimisation
|
# Enable memory map related constants optimisation
|
||||||
ARM_BOARD_OPTIMISE_MMAP := 1
|
ARM_BOARD_OPTIMISE_MEM := 1
|
||||||
|
|
||||||
include plat/arm/board/common/board_css.mk
|
include plat/arm/board/common/board_css.mk
|
||||||
include plat/arm/common/arm_common.mk
|
include plat/arm/common/arm_common.mk
|
||||||
|
|
Loading…
Reference in New Issue