Commit fd5763ea authored by Qixiang Xu's avatar Qixiang Xu Committed by David Cunado
Browse files

plat/arm: Fix BL31_BASE when RESET_TO_BL31=1



The value of BL31_BASE currently depends on the size of BL31. This
causes problems in the RESET_TO_BL31 case because the value of
BL31_BASE is used in the model launch parameters, which often changes.

Therefore, this patch fixes BL31_BASE to the middle of Trusted SRAM,
to avoid further model parameter changes in future.

Change-Id: I6d7fa4fe293717d84768974679539c0e0cb6d935
Signed-off-by: default avatarDavid Cunado <david.cunado@arm.com>
parent 50915b89
...@@ -1593,15 +1593,15 @@ with 8 CPUs using the AArch64 build of ARM Trusted Firmware. ...@@ -1593,15 +1593,15 @@ with 8 CPUs using the AArch64 build of ARM Trusted Firmware.
-C cluster0.NUM_CORES=4 \ -C cluster0.NUM_CORES=4 \
-C cluster1.NUM_CORES=4 \ -C cluster1.NUM_CORES=4 \
-C cache_state_modelled=1 \ -C cache_state_modelled=1 \
-C cluster0.cpu0.RVBAR=0x04023000 \ -C cluster0.cpu0.RVBAR=0x04020000 \
-C cluster0.cpu1.RVBAR=0x04023000 \ -C cluster0.cpu1.RVBAR=0x04020000 \
-C cluster0.cpu2.RVBAR=0x04023000 \ -C cluster0.cpu2.RVBAR=0x04020000 \
-C cluster0.cpu3.RVBAR=0x04023000 \ -C cluster0.cpu3.RVBAR=0x04020000 \
-C cluster1.cpu0.RVBAR=0x04023000 \ -C cluster1.cpu0.RVBAR=0x04020000 \
-C cluster1.cpu1.RVBAR=0x04023000 \ -C cluster1.cpu1.RVBAR=0x04020000 \
-C cluster1.cpu2.RVBAR=0x04023000 \ -C cluster1.cpu2.RVBAR=0x04020000 \
-C cluster1.cpu3.RVBAR=0x04023000 \ -C cluster1.cpu3.RVBAR=0x04020000 \
--data cluster0.cpu0="<path-to>/<bl31-binary>"@0x04023000 \ --data cluster0.cpu0="<path-to>/<bl31-binary>"@0x04020000 \
--data cluster0.cpu0="<path-to>/<bl32-binary>"@0x04001000 \ --data cluster0.cpu0="<path-to>/<bl32-binary>"@0x04001000 \
--data cluster0.cpu0="<path-to>/<bl33-binary>"@0x88000000 \ --data cluster0.cpu0="<path-to>/<bl33-binary>"@0x88000000 \
--data cluster0.cpu0="<path-to>/<fdt>"@0x82000000 \ --data cluster0.cpu0="<path-to>/<fdt>"@0x82000000 \
...@@ -1678,15 +1678,15 @@ boot Linux with 8 CPUs using the AArch64 build of ARM Trusted Firmware. ...@@ -1678,15 +1678,15 @@ boot Linux with 8 CPUs using the AArch64 build of ARM Trusted Firmware.
-C bp.secure_memory=1 \ -C bp.secure_memory=1 \
-C bp.tzc_400.diagnostics=1 \ -C bp.tzc_400.diagnostics=1 \
-C cache_state_modelled=1 \ -C cache_state_modelled=1 \
-C cluster0.cpu0.RVBARADDR=0x04023000 \ -C cluster0.cpu0.RVBARADDR=0x04020000 \
-C cluster0.cpu1.RVBARADDR=0x04023000 \ -C cluster0.cpu1.RVBARADDR=0x04020000 \
-C cluster0.cpu2.RVBARADDR=0x04023000 \ -C cluster0.cpu2.RVBARADDR=0x04020000 \
-C cluster0.cpu3.RVBARADDR=0x04023000 \ -C cluster0.cpu3.RVBARADDR=0x04020000 \
-C cluster1.cpu0.RVBARADDR=0x04023000 \ -C cluster1.cpu0.RVBARADDR=0x04020000 \
-C cluster1.cpu1.RVBARADDR=0x04023000 \ -C cluster1.cpu1.RVBARADDR=0x04020000 \
-C cluster1.cpu2.RVBARADDR=0x04023000 \ -C cluster1.cpu2.RVBARADDR=0x04020000 \
-C cluster1.cpu3.RVBARADDR=0x04023000 \ -C cluster1.cpu3.RVBARADDR=0x04020000 \
--data cluster0.cpu0="<path-to>/<bl31-binary>"@0x04023000 \ --data cluster0.cpu0="<path-to>/<bl31-binary>"@0x04020000 \
--data cluster0.cpu0="<path-to>/<bl32-binary>"@0x04001000 \ --data cluster0.cpu0="<path-to>/<bl32-binary>"@0x04001000 \
--data cluster0.cpu0="<path-to>/<bl33-binary>"@0x88000000 \ --data cluster0.cpu0="<path-to>/<bl33-binary>"@0x88000000 \
--data cluster0.cpu0="<path-to>/<fdt>"@0x82000000 \ --data cluster0.cpu0="<path-to>/<fdt>"@0x82000000 \
......
...@@ -292,6 +292,13 @@ ...@@ -292,6 +292,13 @@
#define BL31_BASE ARM_AP_TZC_DRAM1_BASE #define BL31_BASE ARM_AP_TZC_DRAM1_BASE
#define BL31_LIMIT (ARM_AP_TZC_DRAM1_BASE + \ #define BL31_LIMIT (ARM_AP_TZC_DRAM1_BASE + \
PLAT_ARM_MAX_BL31_SIZE) PLAT_ARM_MAX_BL31_SIZE)
#elif (RESET_TO_BL31)
/*
* Put BL31_BASE in the middle of the Trusted SRAM.
*/
#define BL31_BASE (ARM_TRUSTED_SRAM_BASE + \
(PLAT_ARM_TRUSTED_SRAM_SIZE >> 1))
#define BL31_LIMIT (ARM_BL_RAM_BASE + ARM_BL_RAM_SIZE)
#else #else
/* /*
* Put BL31 at the top of the Trusted SRAM. * Put BL31 at the top of the Trusted SRAM.
......
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