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