Implement late binding for runtime hooks
authorJeenu Viswambharan <jeenu.viswambharan@arm.com>
Thu, 20 Feb 2014 17:11:00 +0000 (17:11 +0000)
committerDan Handley <dan.handley@arm.com>
Wed, 26 Feb 2014 19:53:48 +0000 (19:53 +0000)
commit7f36660559a7d4786e9a30de6c5af74338ed9469
tree83a0563d40d60b490b33ca079cdc24c5a1432fcc
parent9128ffe9413c4070ec08042dfee28f2aec9804ed
Implement late binding for runtime hooks

At present SPD power management hooks and BL3-2 entry are implemented
using weak references. This would have the handlers bound and registered
with the core framework at build time, but leaves them dangling if a
service fails to initialize at runtime.

This patch replaces implementation by requiring runtime handlers to
register power management and deferred initialization hooks with the
core framework at runtime. The runtime services are to register the
hooks only as the last step, after having all states successfully
initialized.

Change-Id: Ibe788a2a381ef39aec1d4af5ba02376e67269782
bl31/bl31_main.c
include/bl31.h
include/psci.h
services/psci/psci_afflvl_off.c
services/psci/psci_afflvl_on.c
services/psci/psci_afflvl_suspend.c
services/psci/psci_common.c
services/psci/psci_private.h
services/spd/tspd/tspd_main.c
services/spd/tspd/tspd_pm.c
services/spd/tspd/tspd_private.h