xref: /linux/arch/arm64/kernel/entry-fpsimd.S (revision cfc5180e5a1b5f41f4936c4945a395f4d8885d66)
153631b54SCatalin Marinas/*
253631b54SCatalin Marinas * FP/SIMD state saving and restoring
353631b54SCatalin Marinas *
453631b54SCatalin Marinas * Copyright (C) 2012 ARM Ltd.
553631b54SCatalin Marinas * Author: Catalin Marinas <catalin.marinas@arm.com>
653631b54SCatalin Marinas *
753631b54SCatalin Marinas * This program is free software; you can redistribute it and/or modify
853631b54SCatalin Marinas * it under the terms of the GNU General Public License version 2 as
953631b54SCatalin Marinas * published by the Free Software Foundation.
1053631b54SCatalin Marinas *
1153631b54SCatalin Marinas * This program is distributed in the hope that it will be useful,
1253631b54SCatalin Marinas * but WITHOUT ANY WARRANTY; without even the implied warranty of
1353631b54SCatalin Marinas * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1453631b54SCatalin Marinas * GNU General Public License for more details.
1553631b54SCatalin Marinas *
1653631b54SCatalin Marinas * You should have received a copy of the GNU General Public License
1753631b54SCatalin Marinas * along with this program.  If not, see <http://www.gnu.org/licenses/>.
1853631b54SCatalin Marinas */
1953631b54SCatalin Marinas
2053631b54SCatalin Marinas#include <linux/linkage.h>
2153631b54SCatalin Marinas
2253631b54SCatalin Marinas#include <asm/assembler.h>
23*cfc5180eSMarc Zyngier#include <asm/fpsimdmacros.h>
2453631b54SCatalin Marinas
2553631b54SCatalin Marinas/*
2653631b54SCatalin Marinas * Save the FP registers.
2753631b54SCatalin Marinas *
2853631b54SCatalin Marinas * x0 - pointer to struct fpsimd_state
2953631b54SCatalin Marinas */
3053631b54SCatalin MarinasENTRY(fpsimd_save_state)
31*cfc5180eSMarc Zyngier	fpsimd_save x0, 8
3253631b54SCatalin Marinas	ret
3353631b54SCatalin MarinasENDPROC(fpsimd_save_state)
3453631b54SCatalin Marinas
3553631b54SCatalin Marinas/*
3653631b54SCatalin Marinas * Load the FP registers.
3753631b54SCatalin Marinas *
3853631b54SCatalin Marinas * x0 - pointer to struct fpsimd_state
3953631b54SCatalin Marinas */
4053631b54SCatalin MarinasENTRY(fpsimd_load_state)
41*cfc5180eSMarc Zyngier	fpsimd_restore x0, 8
4253631b54SCatalin Marinas	ret
4353631b54SCatalin MarinasENDPROC(fpsimd_load_state)
44