blob: b362b1494f5cc995eb9708934eba2f7b24fc61c6 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef __ASM_ARM_FPSTATE_H
13#define __ASM_ARM_FPSTATE_H
Ben Cheng4b29af02012-03-07 16:14:53 -080014
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080015#ifndef __ASSEMBLY__
Ben Cheng4b29af02012-03-07 16:14:53 -080016
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017struct vfp_hard_struct {
18 __u64 fpregs[16];
19#if __LINUX_ARM_ARCH__ < 6
20 __u32 fpmx_state;
21#endif
22 __u32 fpexc;
23 __u32 fpscr;
Ben Cheng4b29af02012-03-07 16:14:53 -080024
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080025 __u32 fpinst;
26 __u32 fpinst2;
27};
Ben Cheng4b29af02012-03-07 16:14:53 -080028
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029union vfp_state {
30 struct vfp_hard_struct hard;
31};
Ben Cheng4b29af02012-03-07 16:14:53 -080032
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080033#define FP_HARD_SIZE 35
Ben Cheng4b29af02012-03-07 16:14:53 -080034
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080035struct fp_hard_struct {
36 unsigned int save[FP_HARD_SIZE];
37};
Ben Cheng4b29af02012-03-07 16:14:53 -080038
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039#define FP_SOFT_SIZE 35
Ben Cheng4b29af02012-03-07 16:14:53 -080040
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080041struct fp_soft_struct {
42 unsigned int save[FP_SOFT_SIZE];
43};
Ben Cheng4b29af02012-03-07 16:14:53 -080044
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080045#define IWMMXT_SIZE 0x98
Ben Cheng4b29af02012-03-07 16:14:53 -080046
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080047struct iwmmxt_struct {
48 unsigned int save[IWMMXT_SIZE / sizeof(unsigned int)];
49};
Ben Cheng4b29af02012-03-07 16:14:53 -080050
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080051union fp_state {
52 struct fp_hard_struct hard;
53 struct fp_soft_struct soft;
54};
Ben Cheng4b29af02012-03-07 16:14:53 -080055
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080056#define FP_SIZE (sizeof(union fp_state) / sizeof(int))
Ben Cheng4b29af02012-03-07 16:14:53 -080057
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080058struct crunch_state {
59 unsigned int mvdx[16][2];
60 unsigned int mvax[4][3];
61 unsigned int dspsc[2];
62};
Ben Cheng4b29af02012-03-07 16:14:53 -080063
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080064#define CRUNCH_SIZE sizeof(struct crunch_state)
Ben Cheng4b29af02012-03-07 16:14:53 -080065
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080066#endif
Ben Cheng4b29af02012-03-07 16:14:53 -080067
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080068#endif