blob: 7b390378c3111d6b051aa51c48ee90db03793f60 [file] [log] [blame]
Dimitris Papastamos5bdbb472017-10-13 12:06:06 +01001/*
Boyan Karatotev6468d4a2023-02-16 15:12:45 +00002 * Copyright (c) 2017-2023, 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>
11
Andre Przywaraf3e8cfc2022-11-17 16:42:09 +000012#if ENABLE_SPE_FOR_NS
Boyan Karatotev6468d4a2023-02-16 15:12:45 +000013void spe_init_el3(void);
14void spe_init_el2_unused(void);
Dimitris Papastamos5bdbb472017-10-13 12:06:06 +010015void spe_disable(void);
Andre Przywaraf3e8cfc2022-11-17 16:42:09 +000016#else
Boyan Karatotev6468d4a2023-02-16 15:12:45 +000017static inline void spe_init_el3(void)
Andre Przywaraf3e8cfc2022-11-17 16:42:09 +000018{
19}
Boyan Karatotev6468d4a2023-02-16 15:12:45 +000020static inline void spe_init_el2_unused(void)
21{
22}
Andre Przywaraa1c9ad12023-03-22 13:25:00 +000023static inline void spe_disable(void)
Andre Przywaraf3e8cfc2022-11-17 16:42:09 +000024{
25}
Boyan Karatotev6468d4a2023-02-16 15:12:45 +000026#endif /* ENABLE_SPE_FOR_NS */
Dimitris Papastamos5bdbb472017-10-13 12:06:06 +010027
Antonio Nino Diaz033b4bb2018-10-25 16:52:26 +010028#endif /* SPE_H */