1281a08ccSDimitris Papastamos /* 2*985b6a6bSBoyan Karatotev * Copyright (c) 2017-2025, Arm Limited and Contributors. All rights reserved. 3281a08ccSDimitris Papastamos * 4281a08ccSDimitris Papastamos * SPDX-License-Identifier: BSD-3-Clause 5281a08ccSDimitris Papastamos */ 6281a08ccSDimitris Papastamos 740daecc1SAntonio Nino Diaz #ifndef SPE_H 840daecc1SAntonio Nino Diaz #define SPE_H 9281a08ccSDimitris Papastamos 1040daecc1SAntonio Nino Diaz #include <stdbool.h> 11123002f9SJayanth Dodderi Chidanand #include <context.h> 1240daecc1SAntonio Nino Diaz 136437a09aSAndre Przywara #if ENABLE_SPE_FOR_NS 14*985b6a6bSBoyan Karatotev void spe_enable_ns(cpu_context_t *ctx); 15*985b6a6bSBoyan Karatotev void spe_disable_secure(cpu_context_t *ctx); 16*985b6a6bSBoyan Karatotev void spe_disable_realm(cpu_context_t *ctx); 1760d330dcSBoyan Karatotev void spe_init_el2_unused(void); 186437a09aSAndre Przywara #else 19*985b6a6bSBoyan Karatotev static inline void spe_enable_ns(cpu_context_t *ctx) 2060d330dcSBoyan Karatotev { 2160d330dcSBoyan Karatotev } 22*985b6a6bSBoyan Karatotev static inline void spe_disable_secure(cpu_context_t *ctx) 23*985b6a6bSBoyan Karatotev { 24*985b6a6bSBoyan Karatotev } 25*985b6a6bSBoyan Karatotev static inline void spe_disable_realm(cpu_context_t *ctx) 26651fe507SManish Pandey { 27651fe507SManish Pandey } 2860d330dcSBoyan Karatotev static inline void spe_init_el2_unused(void) 296437a09aSAndre Przywara { 306437a09aSAndre Przywara } 3160d330dcSBoyan Karatotev #endif /* ENABLE_SPE_FOR_NS */ 32281a08ccSDimitris Papastamos 3340daecc1SAntonio Nino Diaz #endif /* SPE_H */ 34