45 lines
995 B
C
45 lines
995 B
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>
|
|
#include <linux/posix_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;
|
|
};
|
|
|
|
#endif /* _UAPI_ASM_SIGCONTEXT_H */
|