138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris/****************************************************************************
238062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ****************************************************************************
338062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***
438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   This header was automatically generated from a Linux kernel header
538062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   of the same name, to make information necessary for userspace to
638062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   call into the kernel available to libc.  It contains only constants,
738062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   structures, and macros generated from the original header, and thus,
838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   contains no copyrightable information.
938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***
1038062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   To edit the content of this header, modify the corresponding
1138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   source file (e.g. under external/kernel-headers/original/) then
1238062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   run bionic/libc/kernel/tools/update_all.py
1338062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***
1438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   Any manual change here will be lost the next time this script will
1538062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***   be run. You've been warned!
1638062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ***
1738062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ****************************************************************************
1838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris ****************************************************************************/
19106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#ifndef __MIPS_UAPI_ASM_UCONTEXT_H
20106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define __MIPS_UAPI_ASM_UCONTEXT_H
21106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct extcontext {
22106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned int magic;
23106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned int size;
24106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
25106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct msa_extcontext {
26106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  struct extcontext ext;
27106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define MSA_EXTCONTEXT_MAGIC 0x784d5341
28106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned long long wr[32];
29106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned int csr;
30106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
31106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define END_EXTCONTEXT_MAGIC 0x78454e44
32106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct ucontext {
33106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned long uc_flags;
34106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  struct ucontext * uc_link;
35106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  stack_t uc_stack;
36106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  struct sigcontext uc_mcontext;
37106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  sigset_t uc_sigmask;
38106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  unsigned long long uc_extcontext[0];
39106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
40106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif
41