xref: /rk3399_ARM-atf/include/lib/extensions/spe.h (revision 651fe5073c790647305363a4de05cf050e0851de)
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