1 /* 2 * FPU data structures 3 * 4 * Copyright IBM Corp. 2015 5 * Author(s): Hendrik Brueckner <brueckner@linux.vnet.ibm.com> 6 */ 7 8 #ifndef _ASM_S390_FPU_TYPES_H 9 #define _ASM_S390_FPU_TYPES_H 10 11 #include <asm/sigcontext.h> 12 13 struct fpu { 14 __u32 fpc; /* Floating-point control */ 15 void *regs; /* Pointer to the current save area */ 16 union { 17 /* Floating-point register save area */ 18 freg_t fprs[__NUM_FPRS]; 19 /* Vector register save area */ 20 __vector128 vxrs[__NUM_VXRS]; 21 }; 22 }; 23 24 /* VX array structure for address operand constraints in inline assemblies */ 25 struct vx_array { __vector128 _[__NUM_VXRS]; }; 26 27 /* In-kernel FPU state structure */ 28 struct kernel_fpu { 29 u32 mask; 30 u32 fpc; 31 union { 32 freg_t fprs[__NUM_FPRS]; 33 __vector128 vxrs[__NUM_VXRS]; 34 }; 35 }; 36 37 #endif /* _ASM_S390_FPU_TYPES_H */ 38