1 /* 2 * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include <lib/el3_runtime/pubsub.h> 8 9 /* 10 * This file defines a list of pubsub events, declared using 11 * REGISTER_PUBSUB_EVENT() macro. 12 */ 13 14 /* 15 * Event published after a CPU has been powered up and finished its 16 * initialization. 17 */ 18 REGISTER_PUBSUB_EVENT(psci_cpu_on_finish); 19 20 /* 21 * These events are published before/after a CPU has been powered down/up 22 * via the PSCI CPU SUSPEND API. 23 */ 24 REGISTER_PUBSUB_EVENT(psci_suspend_pwrdown_start); 25 REGISTER_PUBSUB_EVENT(psci_suspend_pwrdown_finish); 26 27 #ifdef __aarch64__ 28 /* 29 * These events are published by the AArch64 context management framework 30 * after the secure context is restored/saved via 31 * cm_el1_sysregs_context_{restore,save}() API. 32 */ 33 REGISTER_PUBSUB_EVENT(cm_entering_secure_world); 34 REGISTER_PUBSUB_EVENT(cm_exited_secure_world); 35 36 /* 37 * These events are published by the AArch64 context management framework 38 * after the normal context is restored/saved via 39 * cm_el1_sysregs_context_{restore,save}() API. 40 */ 41 REGISTER_PUBSUB_EVENT(cm_entering_normal_world); 42 REGISTER_PUBSUB_EVENT(cm_exited_normal_world); 43 #endif /* __aarch64__ */ 44