sigcontext.h (995B)
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2/* 3 * Author: Hanlu Li <lihanlu@loongson.cn> 4 * Huacai Chen <chenhuacai@loongson.cn> 5 * 6 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited 7 */ 8#ifndef _UAPI_ASM_SIGCONTEXT_H 9#define _UAPI_ASM_SIGCONTEXT_H 10 11#include <linux/types.h> 12#include <linux/posix_types.h> 13 14/* FP context was used */ 15#define SC_USED_FP (1 << 0) 16/* Address error was due to memory load */ 17#define SC_ADDRERR_RD (1 << 30) 18/* Address error was due to memory store */ 19#define SC_ADDRERR_WR (1 << 31) 20 21struct sigcontext { 22 __u64 sc_pc; 23 __u64 sc_regs[32]; 24 __u32 sc_flags; 25 __u64 sc_extcontext[0] __attribute__((__aligned__(16))); 26}; 27 28#define CONTEXT_INFO_ALIGN 16 29struct sctx_info { 30 __u32 magic; 31 __u32 size; 32 __u64 padding; /* padding to 16 bytes */ 33}; 34 35/* FPU context */ 36#define FPU_CTX_MAGIC 0x46505501 37#define FPU_CTX_ALIGN 8 38struct fpu_context { 39 __u64 regs[32]; 40 __u64 fcc; 41 __u32 fcsr; 42}; 43 44#endif /* _UAPI_ASM_SIGCONTEXT_H */