mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Nothing in sigcontext.h seems to require anything from linux/posix_types.h. This include seems a MIPS relic originated from an error in Linux 2.6.11-rc2 (in 2005). The unneeded include was found debugging some vDSO self test build failure (it's not the root cause though). Link: https://lore.kernel.org/linux-mips/20240828030413.143930-2-xry111@xry111.site/ Link: https://lore.kernel.org/loongarch/0b540679ec8cfccec75aeb3463810924f6ff71e6.camel@xry111.site/ Signed-off-by: Xi Ruoyao <xry111@xry111.site> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
71 lines
1.4 KiB
C
71 lines
1.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
|
|
/*
|
|
* Author: Hanlu Li <lihanlu@loongson.cn>
|
|
* Huacai Chen <chenhuacai@loongson.cn>
|
|
*
|
|
* Copyright (C) 2020-2022 Loongson Technology Corporation Limited
|
|
*/
|
|
#ifndef _UAPI_ASM_SIGCONTEXT_H
|
|
#define _UAPI_ASM_SIGCONTEXT_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
/* FP context was used */
|
|
#define SC_USED_FP (1 << 0)
|
|
/* Address error was due to memory load */
|
|
#define SC_ADDRERR_RD (1 << 30)
|
|
/* Address error was due to memory store */
|
|
#define SC_ADDRERR_WR (1 << 31)
|
|
|
|
struct sigcontext {
|
|
__u64 sc_pc;
|
|
__u64 sc_regs[32];
|
|
__u32 sc_flags;
|
|
__u64 sc_extcontext[0] __attribute__((__aligned__(16)));
|
|
};
|
|
|
|
#define CONTEXT_INFO_ALIGN 16
|
|
struct sctx_info {
|
|
__u32 magic;
|
|
__u32 size;
|
|
__u64 padding; /* padding to 16 bytes */
|
|
};
|
|
|
|
/* FPU context */
|
|
#define FPU_CTX_MAGIC 0x46505501
|
|
#define FPU_CTX_ALIGN 8
|
|
struct fpu_context {
|
|
__u64 regs[32];
|
|
__u64 fcc;
|
|
__u32 fcsr;
|
|
};
|
|
|
|
/* LSX context */
|
|
#define LSX_CTX_MAGIC 0x53580001
|
|
#define LSX_CTX_ALIGN 16
|
|
struct lsx_context {
|
|
__u64 regs[2*32];
|
|
__u64 fcc;
|
|
__u32 fcsr;
|
|
};
|
|
|
|
/* LASX context */
|
|
#define LASX_CTX_MAGIC 0x41535801
|
|
#define LASX_CTX_ALIGN 32
|
|
struct lasx_context {
|
|
__u64 regs[4*32];
|
|
__u64 fcc;
|
|
__u32 fcsr;
|
|
};
|
|
|
|
/* LBT context */
|
|
#define LBT_CTX_MAGIC 0x42540001
|
|
#define LBT_CTX_ALIGN 8
|
|
struct lbt_context {
|
|
__u64 regs[4];
|
|
__u32 eflags;
|
|
__u32 ftop;
|
|
};
|
|
|
|
|
|
#endif /* _UAPI_ASM_SIGCONTEXT_H */
|