pubsub_events.h 1.2 KB

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