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

TOMOYO Linux Cross Reference
Linux/arch/sh/include/asm/user.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef __ASM_SH_USER_H
  3 #define __ASM_SH_USER_H
  4 
  5 #include <asm/ptrace.h>
  6 #include <asm/page.h>
  7 
  8 /*
  9  * Core file format: The core file is written in such a way that gdb
 10  * can understand it and provide useful information to the user (under
 11  * linux we use the `trad-core' bfd).  The file contents are as follows:
 12  *
 13  *  upage: 1 page consisting of a user struct that tells gdb
 14  *      what is present in the file.  Directly after this is a
 15  *      copy of the task_struct, which is currently not used by gdb,
 16  *      but it may come in handy at some point.  All of the registers
 17  *      are stored as part of the upage.  The upage should always be
 18  *      only one page long.
 19  *  data: The data segment follows next.  We use current->end_text to
 20  *      current->brk to pick up all of the user variables, plus any memory
 21  *      that may have been sbrk'ed.  No attempt is made to determine if a
 22  *      page is demand-zero or if a page is totally unused, we just cover
 23  *      the entire range.  All of the addresses are rounded in such a way
 24  *      that an integral number of pages is written.
 25  *  stack: We need the stack information in order to get a meaningful
 26  *      backtrace.  We need to write the data from usp to
 27  *      current->start_stack, so we round each of these in order to be able
 28  *      to write an integer number of pages.
 29  */
 30 
 31 struct user_fpu_struct {
 32         unsigned long fp_regs[16];
 33         unsigned long xfp_regs[16];
 34         unsigned long fpscr;
 35         unsigned long fpul;
 36 };
 37 
 38 struct user {
 39         struct pt_regs  regs;                   /* entire machine state */
 40         struct user_fpu_struct fpu;     /* Math Co-processor registers  */
 41         int u_fpvalid;          /* True if math co-processor being used */
 42         size_t          u_tsize;                /* text size (pages) */
 43         size_t          u_dsize;                /* data size (pages) */
 44         size_t          u_ssize;                /* stack size (pages) */
 45         unsigned long   start_code;             /* text starting address */
 46         unsigned long   start_data;             /* data starting address */
 47         unsigned long   start_stack;            /* stack starting address */
 48         long int        signal;                 /* signal causing core dump */
 49         unsigned long   u_ar0;                  /* help gdb find registers */
 50         struct user_fpu_struct* u_fpstate;      /* Math Co-processor pointer */
 51         unsigned long   magic;                  /* identifies a core file */
 52         char            u_comm[32];             /* user command name */
 53 };
 54 
 55 #endif /* __ASM_SH_USER_H */
 56 

~ [ 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