arm-trusted-firmware/plat/arm/common
Soby Mathew 7b56928a12 Juno: Change the Firmware update detect mechanism
Previously, Juno used to depend on the SSC_GPRETN register to inform
about the reset syndrome. This method was removed when SCP migrated
to the SDS framework. But even the SDS framework doesn't report the
reset syndrome correctly and hence Juno failed to enter Firmware
update mode if BL2 authentication failed.

In addition to that, the error code populated in V2M_SYS_NVFLAGS register
does not seem to be retained any more on Juno across resets. This could
be down to the motherboard firmware not doing the necessary to preserve
the value.

Hence this patch modifies the Juno platform to use the same mechanism to
trigger firmware update as FVP which is to corrupt the FIP TOC on
authentication failure. The implementation in `fvp_err.c` is made common
for ARM platforms and is moved to the new `arm_err.c` file in
plat/arm/common folder. The BL1 and BL2 mmap table entries for Juno
are modified to allow write to the Flash memory address.

Change-Id: Ica7d49a3e8a46a90efd4cf340f19fda3b549e945
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
2018-03-08 09:44:05 +00:00
..
aarch32 ARM Platforms: Load HW_CONFIG in BL2 2018-02-26 16:31:11 +00:00
aarch64 ARM Platforms: Load HW_CONFIG in BL2 2018-02-26 16:31:11 +00:00
sp_min Remove sp_min functions from plat_common.c 2018-03-02 16:41:18 +00:00
tsp Fix order of ARM platform #includes 2017-07-14 10:50:40 +01:00
arm_bl1_fwu.c Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
arm_bl1_setup.c Juno: Change the Firmware update detect mechanism 2018-03-08 09:44:05 +00:00
arm_bl2_el3_setup.c bl2-el3: Add BL2 at EL3 support in FVP 2018-01-18 09:55:11 +00:00
arm_bl2_setup.c Dynamic cfg: MISRA fixes 2018-02-26 16:31:11 +00:00
arm_bl2u_setup.c BL2U: Fix ARM platform timer initilization 2018-03-07 17:25:28 +00:00
arm_bl31_setup.c ARM Platforms: Migrate to new BL handover interface 2018-02-26 16:31:11 +00:00
arm_cci.c Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
arm_ccn.c Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
arm_common.c Fix MISRA rule 8.4 Part 1 2018-02-28 17:19:55 +00:00
arm_common.mk Juno: Change the Firmware update detect mechanism 2018-03-08 09:44:05 +00:00
arm_dyn_cfg.c Dynamic cfg: MISRA fixes 2018-02-26 16:31:11 +00:00
arm_dyn_cfg_helpers.c Dynamic cfg: MISRA fixes 2018-02-26 16:31:11 +00:00
arm_err.c Juno: Change the Firmware update detect mechanism 2018-03-08 09:44:05 +00:00
arm_gicv2.c GICv2: Fix populating PE target data 2017-11-13 07:49:30 +00:00
arm_gicv3.c Fix MISRA rule 8.4 Part 1 2018-02-28 17:19:55 +00:00
arm_gicv3_legacy.c ARM platforms: enable GICv3 state save/restore 2017-10-11 16:57:00 +01:00
arm_image_load.c ARM Platforms: Load HW_CONFIG in BL2 2018-02-26 16:31:11 +00:00
arm_io_storage.c Fix MISRA rule 8.4 Part 1 2018-02-28 17:19:55 +00:00
arm_nor_psci_mem_protect.c Fix MISRA rule 8.4 Part 1 2018-02-28 17:19:55 +00:00
arm_pm.c ARM platforms: Make arm_validate_ns_entrypoint() common 2017-11-13 08:38:51 +00:00
arm_sip_svc.c Merge pull request #927 from jeenu-arm/state-switch 2017-05-11 16:04:52 +01:00
arm_topology.c Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
arm_tzc400.c Fix MISRA rule 8.4 Part 1 2018-02-28 17:19:55 +00:00
arm_tzc_dmc500.c ARM platforms: Add support for EL3 TZC memory region 2017-10-11 16:57:00 +01:00
execution_state_switch.c Add missing SPDX header 2017-05-11 17:31:29 +01:00