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