![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 0002 #ifndef __MIPS_UAPI_ASM_UCONTEXT_H 0003 #define __MIPS_UAPI_ASM_UCONTEXT_H 0004 0005 /** 0006 * struct extcontext - extended context header structure 0007 * @magic: magic value identifying the type of extended context 0008 * @size: the size in bytes of the enclosing structure 0009 * 0010 * Extended context structures provide context which does not fit within struct 0011 * sigcontext. They are placed sequentially in memory at the end of struct 0012 * ucontext and struct sigframe, with each extended context structure beginning 0013 * with a header defined by this struct. The type of context represented is 0014 * indicated by the magic field. Userland may check each extended context 0015 * structure against magic values that it recognises. The size field allows any 0016 * unrecognised context to be skipped, allowing for future expansion. The end 0017 * of the extended context data is indicated by the magic value 0018 * END_EXTCONTEXT_MAGIC. 0019 */ 0020 struct extcontext { 0021 unsigned int magic; 0022 unsigned int size; 0023 }; 0024 0025 /** 0026 * struct msa_extcontext - MSA extended context structure 0027 * @ext: the extended context header, with magic == MSA_EXTCONTEXT_MAGIC 0028 * @wr: the most significant 64 bits of each MSA vector register 0029 * @csr: the value of the MSA control & status register 0030 * 0031 * If MSA context is live for a task at the time a signal is delivered to it, 0032 * this structure will hold the MSA context of the task as it was prior to the 0033 * signal delivery. 0034 */ 0035 struct msa_extcontext { 0036 struct extcontext ext; 0037 #define MSA_EXTCONTEXT_MAGIC 0x784d5341 /* xMSA */ 0038 0039 unsigned long long wr[32]; 0040 unsigned int csr; 0041 }; 0042 0043 #define END_EXTCONTEXT_MAGIC 0x78454e44 /* xEND */ 0044 0045 /** 0046 * struct ucontext - user context structure 0047 * @uc_flags: 0048 * @uc_link: 0049 * @uc_stack: 0050 * @uc_mcontext: holds basic processor state 0051 * @uc_sigmask: 0052 * @uc_extcontext: holds extended processor state 0053 */ 0054 struct ucontext { 0055 /* Historic fields matching asm-generic */ 0056 unsigned long uc_flags; 0057 struct ucontext *uc_link; 0058 stack_t uc_stack; 0059 struct sigcontext uc_mcontext; 0060 sigset_t uc_sigmask; 0061 0062 /* Extended context structures may follow ucontext */ 0063 unsigned long long uc_extcontext[]; 0064 }; 0065 0066 #endif /* __MIPS_UAPI_ASM_UCONTEXT_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |