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