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 Karatotevstatic inline void sve_init_el3(void) 20*0a580b51SBoyan Karatotev { 21*0a580b51SBoyan Karatotev } sve_init_el2_unused(void)2260d330dcSBoyan Karatotevstatic inline void sve_init_el2_unused(void) 2360d330dcSBoyan Karatotev { 2460d330dcSBoyan Karatotev } sve_enable_per_world(per_world_context_t * per_world_ctx)25461c0a5dSElizabeth Hostatic 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 Hostatic 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