1abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/****************************************************************************
2abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
3abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
4abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   This header was automatically generated from a Linux kernel header
5abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   of the same name, to make information necessary for userspace to
6abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   call into the kernel available to libc.  It contains only constants,
7abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   structures, and macros generated from the original header, and thus,
8abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   contains no copyrightable information.
9abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
10abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   To edit the content of this header, modify the corresponding
11abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   source file (e.g. under external/kernel-headers/original/) then
12abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   run bionic/libc/kernel/tools/update_all.py
13abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
14abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   Any manual change here will be lost the next time this script will
15abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   be run. You've been warned!
16abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
17abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
18abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************/
19abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifndef _UAPI_ASM_SIGCONTEXT_H
20abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define _UAPI_ASM_SIGCONTEXT_H
21abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <linux/types.h>
22abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <asm/sgidefs.h>
2305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define USED_FP (1 << 0)
2405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define USED_FR1 (1 << 1)
2505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define USED_HYBRID_FPRS (1 << 2)
2605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define USED_EXTCONTEXT (1 << 3)
27abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#if _MIPS_SIM == _MIPS_SIM_ABI32
28abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct sigcontext {
29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int sc_regmask;
30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int sc_status;
31d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long long sc_pc;
32d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long long sc_regs[32];
33d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long long sc_fpregs[32];
34d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int sc_acx;
35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int sc_fpc_csr;
36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int sc_fpc_eir;
37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int sc_used_math;
38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned int sc_dsp;
39d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long long sc_mdhi;
40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long long sc_mdlo;
41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long sc_hi1;
42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long sc_lo1;
43d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long sc_hi2;
44d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long sc_lo2;
45d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long sc_hi3;
46d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long sc_lo3;
47abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
48abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
49abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
50abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <linux/posix_types.h>
51abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct sigcontext {
52d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_regs[32];
53d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_fpregs[32];
54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_mdhi;
55d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_hi1;
56d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_hi2;
57d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_hi3;
58d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_mdlo;
59d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_lo1;
60d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_lo2;
61d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_lo3;
62d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 sc_pc;
63d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 sc_fpc_csr;
64d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 sc_used_math;
65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 sc_dsp;
66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 sc_reserved;
67abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
68abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
69abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
70