1 #ifndef _ARM_ARM32_VFP_H 2 #define _ARM_ARM32_VFP_H 3 4 #define FPEXC_EX (1u << 31) 5 #define FPEXC_EN (1u << 30) 6 #define FPEXC_FP2V (1u << 28) 7 8 #define MVFR0_A_SIMD_MASK (0xf << 0) 9 10 11 #define FPSID_IMPLEMENTER_BIT (24) 12 #define FPSID_IMPLEMENTER_MASK (0xff << FPSID_IMPLEMENTER_BIT) 13 #define FPSID_ARCH_BIT (16) 14 #define FPSID_ARCH_MASK (0xf << FPSID_ARCH_BIT) 15 #define FPSID_PART_BIT (8) 16 #define FPSID_PART_MASK (0xff << FPSID_PART_BIT) 17 #define FPSID_VARIANT_BIT (4) 18 #define FPSID_VARIANT_MASK (0xf << FPSID_VARIANT_BIT) 19 #define FPSID_REV_BIT (0) 20 #define FPSID_REV_MASK (0xf << FPSID_REV_BIT) 21 22 struct vfp_state 23 { 24 uint64_t fpregs1[16]; /* {d0-d15} */ 25 uint64_t fpregs2[16]; /* {d16-d31} */ 26 uint32_t fpexc; 27 uint32_t fpscr; 28 /* VFP implementation specific state */ 29 uint32_t fpinst; 30 uint32_t fpinst2; 31 }; 32 33 #endif /* _ARM_ARM32_VFP_H */ 34 /* 35 * Local variables: 36 * mode: C 37 * c-file-style: "BSD" 38 * c-basic-offset: 4 39 * indent-tabs-mode: nil 40 * End: 41 */ 42