11bb92983SJerome Forissier/* SPDX-License-Identifier: BSD-2-Clause */ 2bc46c1c6SJerome Forissier/* 3bc46c1c6SJerome Forissier * Copyright (c) 2015, Linaro Limited 4bc46c1c6SJerome Forissier */ 5bc46c1c6SJerome Forissier 6bc46c1c6SJerome Forissier#include <asm.S> 7bc46c1c6SJerome Forissier 8bc46c1c6SJerome Forissier/* void vfp_save_extension_regs(struct vfp_reg regs[VFP_NUM_REGS]); */ 9bc46c1c6SJerome ForissierFUNC vfp_save_extension_regs , : 10bc46c1c6SJerome Forissier stp q0, q1, [x0, #16 * 0] 11bc46c1c6SJerome Forissier stp q2, q3, [x0, #16 * 2] 12bc46c1c6SJerome Forissier stp q4, q5, [x0, #16 * 4] 13bc46c1c6SJerome Forissier stp q6, q7, [x0, #16 * 6] 14bc46c1c6SJerome Forissier stp q8, q9, [x0, #16 * 8] 15bc46c1c6SJerome Forissier stp q10, q11, [x0, #16 * 10] 16bc46c1c6SJerome Forissier stp q12, q13, [x0, #16 * 12] 17bc46c1c6SJerome Forissier stp q14, q15, [x0, #16 * 14] 18bc46c1c6SJerome Forissier stp q16, q17, [x0, #16 * 16] 19bc46c1c6SJerome Forissier stp q18, q19, [x0, #16 * 18] 20bc46c1c6SJerome Forissier stp q20, q21, [x0, #16 * 20] 21bc46c1c6SJerome Forissier stp q22, q23, [x0, #16 * 22] 22bc46c1c6SJerome Forissier stp q24, q25, [x0, #16 * 24] 23bc46c1c6SJerome Forissier stp q26, q27, [x0, #16 * 26] 24bc46c1c6SJerome Forissier stp q28, q29, [x0, #16 * 28] 25bc46c1c6SJerome Forissier stp q30, q31, [x0, #16 * 30] 26bc46c1c6SJerome Forissier ret 27bc46c1c6SJerome ForissierEND_FUNC vfp_save_extension_regs 28bc46c1c6SJerome Forissier 29bc46c1c6SJerome Forissier/* void vfp_restore_extension_regs(struct vfp_reg regs[VFP_NUM_REGS]); */ 30bc46c1c6SJerome ForissierFUNC vfp_restore_extension_regs , : 31bc46c1c6SJerome Forissier ldp q0, q1, [x0, #16 * 0] 32bc46c1c6SJerome Forissier ldp q2, q3, [x0, #16 * 2] 33bc46c1c6SJerome Forissier ldp q4, q5, [x0, #16 * 4] 34bc46c1c6SJerome Forissier ldp q6, q7, [x0, #16 * 6] 35bc46c1c6SJerome Forissier ldp q8, q9, [x0, #16 * 8] 36bc46c1c6SJerome Forissier ldp q10, q11, [x0, #16 * 10] 37bc46c1c6SJerome Forissier ldp q12, q13, [x0, #16 * 12] 38bc46c1c6SJerome Forissier ldp q14, q15, [x0, #16 * 14] 39bc46c1c6SJerome Forissier ldp q16, q17, [x0, #16 * 16] 40bc46c1c6SJerome Forissier ldp q18, q19, [x0, #16 * 18] 41bc46c1c6SJerome Forissier ldp q20, q21, [x0, #16 * 20] 42bc46c1c6SJerome Forissier ldp q22, q23, [x0, #16 * 22] 43bc46c1c6SJerome Forissier ldp q24, q25, [x0, #16 * 24] 44bc46c1c6SJerome Forissier ldp q26, q27, [x0, #16 * 26] 45bc46c1c6SJerome Forissier ldp q28, q29, [x0, #16 * 28] 46bc46c1c6SJerome Forissier ldp q30, q31, [x0, #16 * 30] 47bc46c1c6SJerome Forissier ret 48bc46c1c6SJerome ForissierEND_FUNC vfp_restore_extension_regs 49*181f8492SRuchika Gupta 50*181f8492SRuchika GuptaBTI(emit_aarch64_feature_1_and GNU_PROPERTY_AARCH64_FEATURE_1_BTI) 51