• Dimitris Papastamos's avatar
    juno/aarch32: Restore `SCP_BOOT_CFG_ADDR` to the cold boot value · cc47e1ad
    Dimitris Papastamos authored
    
    
    Before BL2 loads the SCP ram firmware, `SCP_BOOT_CFG_ADDR` specifies
    the primary core.  After the SCP ram firmware has started executing,
    `SCP_BOOT_CFG_ADDR` is modified.  This is not normally an issue but
    the Juno AArch32 boot flow is a special case.  BL1 does a warm reset
    into AArch32 and the core jumps to the `sp_min` entrypoint.  This is
    effectively a `RESET_TO_SP_MIN` configuration.  `sp_min` has to be
    able to determine the primary core and hence we need to restore
    `SCP_BOOT_CFG_ADDR` to the cold boot value before `sp_min` runs.
    
    This magically worked when booting on A53 because the core index was
    zero and it just so happened to match with the new value in
    `SCP_BOOT_CFG_ADDR`.
    
    Change-Id: I105425c680cf6238948625c1d1017b01d3517c01
    Signed-off-by: default avatarDimitris Papastamos <dimitris.papastamos@arm.com>
    cc47e1ad
juno_bl2_setup.c 1.66 KB