~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/x86/include/asm/user32.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef _ASM_X86_USER32_H
  3 #define _ASM_X86_USER32_H
  4 
  5 /* IA32 compatible user structures for ptrace.
  6  * These should be used for 32bit coredumps too. */
  7 
  8 struct user_i387_ia32_struct {
  9         u32     cwd;
 10         u32     swd;
 11         u32     twd;
 12         u32     fip;
 13         u32     fcs;
 14         u32     foo;
 15         u32     fos;
 16         u32     st_space[20];   /* 8*10 bytes for each FP-reg = 80 bytes */
 17 };
 18 
 19 /* FSAVE frame with extensions */
 20 struct user32_fxsr_struct {
 21         unsigned short  cwd;
 22         unsigned short  swd;
 23         unsigned short  twd;    /* not compatible to 64bit twd */
 24         unsigned short  fop;
 25         int     fip;
 26         int     fcs;
 27         int     foo;
 28         int     fos;
 29         int     mxcsr;
 30         int     reserved;
 31         int     st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
 32         int     xmm_space[32];  /* 8*16 bytes for each XMM-reg = 128 bytes */
 33         int     padding[56];
 34 };
 35 
 36 struct user_regs_struct32 {
 37         __u32 ebx, ecx, edx, esi, edi, ebp, eax;
 38         unsigned short ds, __ds, es, __es;
 39         unsigned short fs, __fs, gs, __gs;
 40         __u32 orig_eax, eip;
 41         unsigned short cs, __cs;
 42         __u32 eflags, esp;
 43         unsigned short ss, __ss;
 44 };
 45 
 46 struct user32 {
 47   struct user_regs_struct32 regs; /* Where the registers are actually stored */
 48   int u_fpvalid;                /* True if math co-processor being used. */
 49                                 /* for this mess. Not yet used. */
 50   struct user_i387_ia32_struct i387;    /* Math Co-processor registers. */
 51 /* The rest of this junk is to help gdb figure out what goes where */
 52   __u32 u_tsize;        /* Text segment size (pages). */
 53   __u32 u_dsize;        /* Data segment size (pages). */
 54   __u32 u_ssize;        /* Stack segment size (pages). */
 55   __u32 start_code;     /* Starting virtual address of text. */
 56   __u32 start_stack;    /* Starting virtual address of stack area.
 57                                    This is actually the bottom of the stack,
 58                                    the top of the stack is always found in the
 59                                    esp register.  */
 60   __u32 signal;                 /* Signal that caused the core dump. */
 61   int reserved;                 /* No __u32er used */
 62   __u32 u_ar0;  /* Used by gdb to help find the values for */
 63                                 /* the registers. */
 64   __u32 u_fpstate;      /* Math Co-processor pointer. */
 65   __u32 magic;          /* To uniquely identify a core file */
 66   char u_comm[32];              /* User command that was responsible */
 67   int u_debugreg[8];
 68 };
 69 
 70 
 71 #endif /* _ASM_X86_USER32_H */
 72 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php