11a853370SDavid Cunado /* 2*6d5319afSMadhukar Pappireddy * Copyright (c) 2017-2024, Arm Limited and Contributors. All rights reserved. 31a853370SDavid Cunado * 41a853370SDavid Cunado * SPDX-License-Identifier: BSD-3-Clause 51a853370SDavid Cunado */ 61a853370SDavid Cunado 740daecc1SAntonio Nino Diaz #ifndef SVE_H 840daecc1SAntonio Nino Diaz #define SVE_H 91a853370SDavid Cunado 100c5e7d1cSMax Shvetsov #include <context.h> 111a853370SDavid Cunado 122b0bc4e0SJayanth Dodderi Chidanand #if (ENABLE_SME_FOR_NS || ENABLE_SVE_FOR_NS) 13*6d5319afSMadhukar Pappireddy 1460d330dcSBoyan Karatotev void sve_init_el2_unused(void); 15461c0a5dSElizabeth Ho void sve_enable_per_world(per_world_context_t *per_world_ctx); 16461c0a5dSElizabeth Ho void sve_disable_per_world(per_world_context_t *per_world_ctx); 172b0bc4e0SJayanth Dodderi Chidanand #else 1860d330dcSBoyan Karatotev static inline void sve_init_el2_unused(void) 1960d330dcSBoyan Karatotev { 2060d330dcSBoyan Karatotev } 21461c0a5dSElizabeth Ho static inline void sve_enable_per_world(per_world_context_t *per_world_ctx) 22461c0a5dSElizabeth Ho { 23461c0a5dSElizabeth Ho } 24461c0a5dSElizabeth Ho static inline void sve_disable_per_world(per_world_context_t *per_world_ctx) 252b0bc4e0SJayanth Dodderi Chidanand { 262b0bc4e0SJayanth Dodderi Chidanand } 272b0bc4e0SJayanth Dodderi Chidanand #endif /* ( ENABLE_SME_FOR_NS | ENABLE_SVE_FOR_NS ) */ 2840daecc1SAntonio Nino Diaz 29*6d5319afSMadhukar Pappireddy #if CTX_INCLUDE_SVE_REGS 30*6d5319afSMadhukar Pappireddy void sve_context_save(simd_regs_t *regs); 31*6d5319afSMadhukar Pappireddy void sve_context_restore(simd_regs_t *regs); 32*6d5319afSMadhukar Pappireddy #endif 33*6d5319afSMadhukar Pappireddy 3440daecc1SAntonio Nino Diaz #endif /* SVE_H */ 35