/* SPDX-License-Identifier: GPL-2.0 */ /* * FPU data structures * * Copyright IBM Corp. 2015 * Author(s): Hendrik Brueckner <brueckner@linux.vnet.ibm.com> */ #ifndef _ASM_S390_FPU_TYPES_H #define _ASM_S390_FPU_TYPES_H #include <asm/sigcontext.h> struct fpu { __u32 fpc; /* Floating-point control */ void *regs; /* Pointer to the current save area */ union { /* Floating-point register save area */ freg_t fprs[__NUM_FPRS]; /* Vector register save area */ __vector128 vxrs[__NUM_VXRS]; }; }; /* VX array structure for address operand constraints in inline assemblies */ struct vx_array { __vector128 _[__NUM_VXRS]; }; /* In-kernel FPU state structure */ struct kernel_fpu { u32 mask; u32 fpc; union { freg_t fprs[__NUM_FPRS]; __vector128 vxrs[__NUM_VXRS]; }; }; #endif /* _ASM_S390_FPU_TYPES_H */