xref: /rk3399_ARM-atf/include/lib/extensions/sve.h (revision 2e0354f58834219c65b1d44447b8510f3983a5ba)
11a853370SDavid Cunado /*
2*0a580b51SBoyan Karatotev  * Copyright (c) 2017-2025, 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)
136d5319afSMadhukar Pappireddy 
14*0a580b51SBoyan Karatotev void sve_init_el3(void);
1560d330dcSBoyan Karatotev void sve_init_el2_unused(void);
16461c0a5dSElizabeth Ho void sve_enable_per_world(per_world_context_t *per_world_ctx);
17461c0a5dSElizabeth Ho void sve_disable_per_world(per_world_context_t *per_world_ctx);
182b0bc4e0SJayanth Dodderi Chidanand #else
sve_init_el3(void)19*0a580b51SBoyan Karatotev static inline void sve_init_el3(void)
20*0a580b51SBoyan Karatotev {
21*0a580b51SBoyan Karatotev }
sve_init_el2_unused(void)2260d330dcSBoyan Karatotev static inline void sve_init_el2_unused(void)
2360d330dcSBoyan Karatotev {
2460d330dcSBoyan Karatotev }
sve_enable_per_world(per_world_context_t * per_world_ctx)25461c0a5dSElizabeth Ho static inline void sve_enable_per_world(per_world_context_t *per_world_ctx)
26461c0a5dSElizabeth Ho {
27461c0a5dSElizabeth Ho }
sve_disable_per_world(per_world_context_t * per_world_ctx)28461c0a5dSElizabeth Ho static inline void sve_disable_per_world(per_world_context_t *per_world_ctx)
292b0bc4e0SJayanth Dodderi Chidanand {
302b0bc4e0SJayanth Dodderi Chidanand }
312b0bc4e0SJayanth Dodderi Chidanand #endif /* ( ENABLE_SME_FOR_NS | ENABLE_SVE_FOR_NS ) */
3240daecc1SAntonio Nino Diaz 
336d5319afSMadhukar Pappireddy #if CTX_INCLUDE_SVE_REGS
346d5319afSMadhukar Pappireddy void sve_context_save(simd_regs_t *regs);
356d5319afSMadhukar Pappireddy void sve_context_restore(simd_regs_t *regs);
366d5319afSMadhukar Pappireddy #endif
376d5319afSMadhukar Pappireddy 
3840daecc1SAntonio Nino Diaz #endif /* SVE_H */
39