1 /* SPDX-License-Identifier: GPL-2.0 */
5 * Copyright IBM Corp. 2015
9 #ifndef _ASM_S390_FPU_TYPES_H
10 #define _ASM_S390_FPU_TYPES_H
12 #include <asm/sigcontext.h>
16 __vector128 vxrs[__NUM_VXRS] __aligned(8);
19 struct kernel_fpu_hdr {
25 struct kernel_fpu_hdr hdr;
26 __vector128 vxrs[] __aligned(8);
29 #define KERNEL_FPU_STRUCT(vxr_size) \
30 struct kernel_fpu_##vxr_size { \
31 struct kernel_fpu_hdr hdr; \
32 __vector128 vxrs[vxr_size] __aligned(8); \
36 KERNEL_FPU_STRUCT(16);
37 KERNEL_FPU_STRUCT(32);
39 #define DECLARE_KERNEL_FPU_ONSTACK(vxr_size, name) \
40 struct kernel_fpu_##vxr_size name __uninitialized
42 #define DECLARE_KERNEL_FPU_ONSTACK8(name) \
43 DECLARE_KERNEL_FPU_ONSTACK(8, name)
45 #define DECLARE_KERNEL_FPU_ONSTACK16(name) \
46 DECLARE_KERNEL_FPU_ONSTACK(16, name)
48 #define DECLARE_KERNEL_FPU_ONSTACK32(name) \
49 DECLARE_KERNEL_FPU_ONSTACK(32, name)
51 #endif /* _ASM_S390_FPU_TYPES_H */