blob: c6e44f96b137e965301805d5e12f37392bacabc6 [file] [log] [blame]
Dimitris Papastamos281a08c2017-10-13 12:06:06 +01001/*
Jayanth Dodderi Chidanand123002f2024-06-18 15:22:54 +01002 * Copyright (c) 2017-2024, Arm Limited and Contributors. All rights reserved.
Dimitris Papastamos281a08c2017-10-13 12:06:06 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Antonio Nino Diaz40daecc2018-10-25 16:52:26 +01007#ifndef SPE_H
8#define SPE_H
Dimitris Papastamos281a08c2017-10-13 12:06:06 +01009
Antonio Nino Diaz40daecc2018-10-25 16:52:26 +010010#include <stdbool.h>
Jayanth Dodderi Chidanand123002f2024-06-18 15:22:54 +010011#include <context.h>
Antonio Nino Diaz40daecc2018-10-25 16:52:26 +010012
Andre Przywara6437a092022-11-17 16:42:09 +000013#if ENABLE_SPE_FOR_NS
Jayanth Dodderi Chidanand123002f2024-06-18 15:22:54 +010014void spe_enable(cpu_context_t *ctx);
Boyan Karatotev60d330d2023-02-16 15:12:45 +000015void spe_init_el2_unused(void);
Dimitris Papastamos281a08c2017-10-13 12:06:06 +010016void spe_disable(void);
Andre Przywara6437a092022-11-17 16:42:09 +000017#else
Jayanth Dodderi Chidanand123002f2024-06-18 15:22:54 +010018static inline void spe_enable(cpu_context_t *ctx)
Boyan Karatotev60d330d2023-02-16 15:12:45 +000019{
20}
21static inline void spe_init_el2_unused(void)
Andre Przywara6437a092022-11-17 16:42:09 +000022{
23}
Andre Przywarad7f3ed32023-03-22 13:25:00 +000024static inline void spe_disable(void)
Andre Przywara6437a092022-11-17 16:42:09 +000025{
26}
Boyan Karatotev60d330d2023-02-16 15:12:45 +000027#endif /* ENABLE_SPE_FOR_NS */
Dimitris Papastamos281a08c2017-10-13 12:06:06 +010028
Antonio Nino Diaz40daecc2018-10-25 16:52:26 +010029#endif /* SPE_H */