blob: c6e44f96b137e965301805d5e12f37392bacabc6 [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);
Boyan Karatotev6468d4a2023-02-16 15:12:45 +000015void spe_init_el2_unused(void);
Dimitris Papastamos5bdbb472017-10-13 12:06:06 +010016void spe_disable(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}
Boyan Karatotev6468d4a2023-02-16 15:12:45 +000021static inline void spe_init_el2_unused(void)
22{
23}
Andre Przywaraa1c9ad12023-03-22 13:25:00 +000024static inline void spe_disable(void)
Andre Przywaraf3e8cfc2022-11-17 16:42:09 +000025{
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 */