xref: /linux/arch/arm64/kvm/hyp/fpsimd.S (revision 36ec807b627b4c0a0a382f0ae48eac7187d14b2b)
1caab277bSThomas Gleixner/* SPDX-License-Identifier: GPL-2.0-only */
2c13d1683SMarc Zyngier/*
3c13d1683SMarc Zyngier * Copyright (C) 2015 - ARM Ltd
4c13d1683SMarc Zyngier * Author: Marc Zyngier <marc.zyngier@arm.com>
5c13d1683SMarc Zyngier */
6c13d1683SMarc Zyngier
7c13d1683SMarc Zyngier#include <linux/linkage.h>
8c13d1683SMarc Zyngier
9c13d1683SMarc Zyngier#include <asm/fpsimdmacros.h>
10c13d1683SMarc Zyngier
11c13d1683SMarc Zyngier	.text
12c13d1683SMarc Zyngier
13617a2f39SMark BrownSYM_FUNC_START(__fpsimd_save_state)
14c13d1683SMarc Zyngier	fpsimd_save	x0, 1
15c13d1683SMarc Zyngier	ret
16617a2f39SMark BrownSYM_FUNC_END(__fpsimd_save_state)
17c13d1683SMarc Zyngier
18617a2f39SMark BrownSYM_FUNC_START(__fpsimd_restore_state)
19c13d1683SMarc Zyngier	fpsimd_restore	x0, 1
20c13d1683SMarc Zyngier	ret
21617a2f39SMark BrownSYM_FUNC_END(__fpsimd_restore_state)
22297b8603SMarc Zyngier
23297b8603SMarc ZyngierSYM_FUNC_START(__sve_restore_state)
249f584866SMark Brown	mov	x2, #1
25ddc806b5SMark Brown	sve_load 0, x1, x2, 3
26297b8603SMarc Zyngier	ret
27297b8603SMarc ZyngierSYM_FUNC_END(__sve_restore_state)
28*87bb39edSFuad Tabba
29*87bb39edSFuad TabbaSYM_FUNC_START(__sve_save_state)
30*87bb39edSFuad Tabba	mov	x2, #1
31*87bb39edSFuad Tabba	sve_save 0, x1, x2, 3
32*87bb39edSFuad Tabba	ret
33*87bb39edSFuad TabbaSYM_FUNC_END(__sve_save_state)
34