TBB: add Trusted Watchdog support on ARM platforms
This patch adds watchdog support on ARM platforms (FVP and Juno).
A secure instance of SP805 is used as Trusted Watchdog. It is
entirely managed in BL1, being enabled in the early platform setup
hook and disabled in the exit hook. By default, the watchdog is
enabled in every build (even when TBB is disabled).

A new ARM platform specific build option `ARM_DISABLE_TRUSTED_WDOG`
has been introduced to allow the user to disable the watchdog at
build time. This feature may be used for testing or debugging
purposes.

Specific error handlers for Juno and FVP are also provided in this
patch. These handlers will be called after an image load or
authentication error. On FVP, the Table of Contents (ToC) in the FIP
is erased. On Juno, the corresponding error code is stored in the
V2M Non-Volatile flags register. In both cases, the CPU spins until
a watchdog reset is generated after 256 seconds (as specified in
the TBBR document).

Change-Id: I9ca11dcb0fe15af5dbc5407ab3cf05add962f4b4
1 parent 3804197 commit 7b4c140514d83f2d78df00d94a09b4d5feb22480
@Juan Castillo Juan Castillo authored on 6 Oct 2015
Showing 12 changed files
View
docs/user-guide.md
View
include/plat/arm/board/common/v2m_def.h
View
include/plat/arm/common/arm_def.h
View
plat/arm/board/common/board_common.mk
View
plat/arm/board/common/board_css_common.c
View
plat/arm/board/fvp/aarch64/fvp_common.c
View
plat/arm/board/fvp/fvp_err.c 0 → 100644
View
plat/arm/board/fvp/platform.mk
View
plat/arm/board/juno/juno_err.c 0 → 100644
View
plat/arm/board/juno/platform.mk
View
plat/arm/common/arm_bl1_setup.c
View
plat/arm/common/arm_common.mk