Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/include/vfp.h
Show First 20 Lines • Show All 133 Lines • ▼ Show 20 Lines | |||||
#define VMVFR1_LS_MASK (0x00000f00) /* Neon ld/st instr support */ | #define VMVFR1_LS_MASK (0x00000f00) /* Neon ld/st instr support */ | ||||
#define VMVFR1_DN_OFF 4 | #define VMVFR1_DN_OFF 4 | ||||
#define VMVFR1_DN_MASK (0x000000f0) /* Neon prop NaN support */ | #define VMVFR1_DN_MASK (0x000000f0) /* Neon prop NaN support */ | ||||
#define VMVFR1_FZ_MASK (0x0000000f) /* Neon denormal arith supp */ | #define VMVFR1_FZ_MASK (0x0000000f) /* Neon denormal arith supp */ | ||||
#define COPROC10 (0x3 << 20) | #define COPROC10 (0x3 << 20) | ||||
#define COPROC11 (0x3 << 22) | #define COPROC11 (0x3 << 22) | ||||
#ifndef LOCORE | #if !defined(LOCORE) && !defined(__ASSEMBLER__) | ||||
struct vfp_state { | struct vfp_state { | ||||
uint64_t reg[32]; | uint64_t reg[32]; | ||||
uint32_t fpscr; | uint32_t fpscr; | ||||
uint32_t fpexec; | uint32_t fpexec; | ||||
uint32_t fpinst; | uint32_t fpinst; | ||||
uint32_t fpinst2; | uint32_t fpinst2; | ||||
}; | }; | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
#include <sys/ucontext.h> | |||||
void get_vfpcontext(struct thread *, mcontext_vfp_t *); | void get_vfpcontext(struct thread *, mcontext_vfp_t *); | ||||
void set_vfpcontext(struct thread *, mcontext_vfp_t *); | void set_vfpcontext(struct thread *, mcontext_vfp_t *); | ||||
void vfp_init(void); | void vfp_init(void); | ||||
void vfp_store(struct vfp_state *, boolean_t); | void vfp_store(struct vfp_state *, boolean_t); | ||||
void vfp_discard(struct thread *); | void vfp_discard(struct thread *); | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
#endif /* LOCORE */ | #endif /* !LOCORE && !__ASSEMBLER__ */ | ||||
#endif | #endif |