1281a08ccSDimitris Papastamos /* 2123002f9SJayanth Dodderi Chidanand * Copyright (c) 2017-2024, 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 14123002f9SJayanth Dodderi Chidanand void spe_enable(cpu_context_t *ctx); 15*651fe507SManish Pandey void spe_disable(cpu_context_t *ctx); 1660d330dcSBoyan Karatotev void spe_init_el2_unused(void); 174de07b4bSManish Pandey void spe_stop(void); 186437a09aSAndre Przywara #else 19123002f9SJayanth Dodderi Chidanand static inline void spe_enable(cpu_context_t *ctx) 2060d330dcSBoyan Karatotev { 2160d330dcSBoyan Karatotev } 22*651fe507SManish Pandey static inline void spe_disable(cpu_context_t *ctx) 23*651fe507SManish Pandey { 24*651fe507SManish Pandey } 2560d330dcSBoyan Karatotev static inline void spe_init_el2_unused(void) 266437a09aSAndre Przywara { 276437a09aSAndre Przywara } 284de07b4bSManish Pandey static inline void spe_stop(void) 296437a09aSAndre Przywara { 306437a09aSAndre Przywara } 3160d330dcSBoyan Karatotev #endif /* ENABLE_SPE_FOR_NS */ 32281a08ccSDimitris Papastamos 3340daecc1SAntonio Nino Diaz #endif /* SPE_H */ 34