1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* 3 * Copyright (c) 2015, Linaro Limited 4 * All rights reserved. 5 */ 6 7 #ifndef VFP_PRIVATE 8 #define VFP_PRIVATE 9 10 #include <kernel/vfp.h> 11 12 void vfp_save_extension_regs(struct vfp_reg regs[VFP_NUM_REGS]); 13 void vfp_restore_extension_regs(struct vfp_reg regs[VFP_NUM_REGS]); 14 void vfp_clear_extension_regs(void); 15 16 #ifdef ARM32 17 18 #define FPEXC_EN (1 << 30) 19 20 /* 21 * These functions can't be implemented in inline assembly when compiling 22 * for thumb mode, to make it easy always implement then in ARM assembly as 23 * ordinary functions. 24 */ 25 void vfp_write_fpexc(uint32_t fpexc); 26 uint32_t vfp_read_fpexc(void); 27 void vfp_write_fpscr(uint32_t fpscr); 28 uint32_t vfp_read_fpscr(void); 29 30 #endif /* ARM32 */ 31 32 #endif /*VFP_PRIVATE*/ 33