xref: /rk3399_ARM-atf/include/lib/el3_runtime/pubsub_events.h (revision 479321d2e2aad4b662359df0daf4a23554ebc596)
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