1 /* 2 * Copyright (c) 2017-2024, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef SVE_H 8 #define SVE_H 9 10 #include <context.h> 11 12 #if (ENABLE_SME_FOR_NS || ENABLE_SVE_FOR_NS) 13 14 void sve_init_el2_unused(void); 15 void sve_enable_per_world(per_world_context_t *per_world_ctx); 16 void sve_disable_per_world(per_world_context_t *per_world_ctx); 17 #else 18 static inline void sve_init_el2_unused(void) 19 { 20 } 21 static inline void sve_enable_per_world(per_world_context_t *per_world_ctx) 22 { 23 } 24 static inline void sve_disable_per_world(per_world_context_t *per_world_ctx) 25 { 26 } 27 #endif /* ( ENABLE_SME_FOR_NS | ENABLE_SVE_FOR_NS ) */ 28 29 #if CTX_INCLUDE_SVE_REGS 30 void sve_context_save(simd_regs_t *regs); 31 void sve_context_restore(simd_regs_t *regs); 32 #endif 33 34 #endif /* SVE_H */ 35