18e743bcdSJeenu Viswambharan /* 28e743bcdSJeenu Viswambharan * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. 38e743bcdSJeenu Viswambharan * 48e743bcdSJeenu Viswambharan * SPDX-License-Identifier: BSD-3-Clause 58e743bcdSJeenu Viswambharan */ 68e743bcdSJeenu Viswambharan 78e743bcdSJeenu Viswambharan #include <pubsub.h> 88e743bcdSJeenu Viswambharan 98e743bcdSJeenu Viswambharan /* 108e743bcdSJeenu Viswambharan * This file defines a list of pubsub events, declared using 118e743bcdSJeenu Viswambharan * REGISTER_PUBSUB_EVENT() macro. 128e743bcdSJeenu Viswambharan */ 13bd0c3477SJeenu Viswambharan 14bd0c3477SJeenu Viswambharan /* 15bd0c3477SJeenu Viswambharan * Event published after a CPU has been powered up and finished its 16bd0c3477SJeenu Viswambharan * initialization. 17bd0c3477SJeenu Viswambharan */ 18bd0c3477SJeenu Viswambharan REGISTER_PUBSUB_EVENT(psci_cpu_on_finish); 1917b4c0ddSDimitris Papastamos 20*7593252cSDimitris Papastamos /* 21*7593252cSDimitris Papastamos * These events are published before/after a CPU has been powered down/up 22*7593252cSDimitris Papastamos * via the PSCI CPU SUSPEND API. 23*7593252cSDimitris Papastamos */ 24*7593252cSDimitris Papastamos REGISTER_PUBSUB_EVENT(psci_suspend_pwrdown_start); 25*7593252cSDimitris Papastamos REGISTER_PUBSUB_EVENT(psci_suspend_pwrdown_finish); 26*7593252cSDimitris Papastamos 2717b4c0ddSDimitris Papastamos #ifdef AARCH64 2817b4c0ddSDimitris Papastamos /* 2917b4c0ddSDimitris Papastamos * These events are published by the AArch64 context management framework 3017b4c0ddSDimitris Papastamos * after the secure context is restored/saved via 3117b4c0ddSDimitris Papastamos * cm_el1_sysregs_context_{restore,save}() API. 3217b4c0ddSDimitris Papastamos */ 3317b4c0ddSDimitris Papastamos REGISTER_PUBSUB_EVENT(cm_entering_secure_world); 3417b4c0ddSDimitris Papastamos REGISTER_PUBSUB_EVENT(cm_exited_secure_world); 3517b4c0ddSDimitris Papastamos 3617b4c0ddSDimitris Papastamos /* 3717b4c0ddSDimitris Papastamos * These events are published by the AArch64 context management framework 3817b4c0ddSDimitris Papastamos * after the normal context is restored/saved via 3917b4c0ddSDimitris Papastamos * cm_el1_sysregs_context_{restore,save}() API. 4017b4c0ddSDimitris Papastamos */ 4117b4c0ddSDimitris Papastamos REGISTER_PUBSUB_EVENT(cm_entering_normal_world); 4217b4c0ddSDimitris Papastamos REGISTER_PUBSUB_EVENT(cm_exited_normal_world); 4317b4c0ddSDimitris Papastamos #endif /* AARCH64 */ 44