blob: 0a41e1e3c6c618fd2e1817488fa9a9d9790340cd [file] [log] [blame]
Dimitris Papastamos5bdbb472017-10-13 12:06:06 +01001/*
Jayanth Dodderi Chidanand118b3352024-06-18 15:22:54 +01002 * Copyright (c) 2017-2024, Arm Limited and Contributors. All rights reserved.
Dimitris Papastamos5bdbb472017-10-13 12:06:06 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Antonio Nino Diaz033b4bb2018-10-25 16:52:26 +01007#ifndef SPE_H
8#define SPE_H
Dimitris Papastamos5bdbb472017-10-13 12:06:06 +01009
Antonio Nino Diaz033b4bb2018-10-25 16:52:26 +010010#include <stdbool.h>
Jayanth Dodderi Chidanand118b3352024-06-18 15:22:54 +010011#include <context.h>
Antonio Nino Diaz033b4bb2018-10-25 16:52:26 +010012
Andre Przywaraf3e8cfc2022-11-17 16:42:09 +000013#if ENABLE_SPE_FOR_NS
Jayanth Dodderi Chidanand118b3352024-06-18 15:22:54 +010014void spe_enable(cpu_context_t *ctx);
Manish Pandeye01b4222024-07-18 16:17:45 +010015void spe_disable(cpu_context_t *ctx);
Boyan Karatotev6468d4a2023-02-16 15:12:45 +000016void spe_init_el2_unused(void);
Andre Przywaraf3e8cfc2022-11-17 16:42:09 +000017#else
Jayanth Dodderi Chidanand118b3352024-06-18 15:22:54 +010018static inline void spe_enable(cpu_context_t *ctx)
Andre Przywaraf3e8cfc2022-11-17 16:42:09 +000019{
20}
Manish Pandeye01b4222024-07-18 16:17:45 +010021static inline void spe_disable(cpu_context_t *ctx)
22{
23}
Boyan Karatotev6468d4a2023-02-16 15:12:45 +000024static inline void spe_init_el2_unused(void)
25{
26}
Boyan Karatotev6468d4a2023-02-16 15:12:45 +000027#endif /* ENABLE_SPE_FOR_NS */
Dimitris Papastamos5bdbb472017-10-13 12:06:06 +010028
Antonio Nino Diaz033b4bb2018-10-25 16:52:26 +010029#endif /* SPE_H */