sve.h 798 B

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