18e743bcdSJeenu Viswambharan /* 2*4c700c15SGovindraj Raja * Copyright (c) 2017, Arm Limited and Contributors. All rights reserved. 38e743bcdSJeenu Viswambharan * 48e743bcdSJeenu Viswambharan * SPDX-License-Identifier: BSD-3-Clause 58e743bcdSJeenu Viswambharan */ 68e743bcdSJeenu Viswambharan 709d40e0eSAntonio Nino Diaz #include <lib/el3_runtime/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 207593252cSDimitris Papastamos /* 217593252cSDimitris Papastamos * These events are published before/after a CPU has been powered down/up 227593252cSDimitris Papastamos * via the PSCI CPU SUSPEND API. 237593252cSDimitris Papastamos */ 247593252cSDimitris Papastamos REGISTER_PUBSUB_EVENT(psci_suspend_pwrdown_start); 257593252cSDimitris Papastamos REGISTER_PUBSUB_EVENT(psci_suspend_pwrdown_finish); 267593252cSDimitris Papastamos 27402b3cf8SJulius Werner #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); 43402b3cf8SJulius Werner #endif /* __aarch64__ */ 44