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

TOMOYO Linux Cross Reference
Linux/include/asm-generic/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 ] ~

Diff markup

Differences between /include/asm-generic/user.h (Version linux-6.12-rc7) and /include/asm-ppc/user.h (Version linux-2.6.0)


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

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