• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _ASM_SIGCONTEXT_H
20 #define _ASM_SIGCONTEXT_H
21 #include <linux/types.h>
22 #include <linux/posix_types.h>
23 #define SC_USED_FP (1 << 0)
24 #define SC_ADDRERR_RD (1 << 30)
25 #define SC_ADDRERR_WR (1 << 31)
26 struct sigcontext {
27   __u64 sc_pc;
28   __u64 sc_regs[32];
29   __u32 sc_flags;
30   __u64 sc_extcontext[0] __attribute__((__aligned__(16)));
31 };
32 #define CONTEXT_INFO_ALIGN 16
33 struct sctx_info {
34   __u32 magic;
35   __u32 size;
36   __u64 padding;
37 };
38 #define FPU_CTX_MAGIC 0x46505501
39 #define FPU_CTX_ALIGN 8
40 struct fpu_context {
41   __u64 regs[32];
42   __u64 fcc;
43   __u32 fcsr;
44 };
45 #define LSX_CTX_MAGIC 0x53580001
46 #define LSX_CTX_ALIGN 16
47 struct lsx_context {
48   __u64 regs[2 * 32];
49   __u64 fcc;
50   __u32 fcsr;
51 };
52 #define LASX_CTX_MAGIC 0x41535801
53 #define LASX_CTX_ALIGN 32
54 struct lasx_context {
55   __u64 regs[4 * 32];
56   __u64 fcc;
57   __u32 fcsr;
58 };
59 #endif
60