111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __ASM_ARM_FPSTATE_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __ASM_ARM_FPSTATE_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __ASSEMBLY__
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct vfp_hard_struct {
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u64 fpregs[16];
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if __LINUX_ARM_ARCH__ < 6
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 fpmx_state;
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 fpexc;
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 fpscr;
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 fpinst;
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 fpinst2;
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertunion vfp_state {
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct vfp_hard_struct hard;
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_HARD_SIZE 35
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fp_hard_struct {
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int save[FP_HARD_SIZE];
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_SOFT_SIZE 35
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct fp_soft_struct {
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int save[FP_SOFT_SIZE];
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWMMXT_SIZE 0x98
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iwmmxt_struct {
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int save[IWMMXT_SIZE / sizeof(unsigned int)];
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertunion fp_state {
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct fp_hard_struct hard;
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct fp_soft_struct soft;
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FP_SIZE (sizeof(union fp_state) / sizeof(int))
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct crunch_state {
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int mvdx[16][2];
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int mvax[4][3];
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int dspsc[2];
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define CRUNCH_SIZE sizeof(struct crunch_state)
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
69