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

TOMOYO Linux Cross Reference
Linux/arch/s390/kernel/compat_ptrace.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ 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 _PTRACE32_H
  3 #define _PTRACE32_H
  4 
  5 #include <asm/ptrace.h>    /* needed for NUM_CR_WORDS */
  6 #include "compat_linux.h"  /* needed for psw_compat_t */
  7 
  8 struct compat_per_struct_kernel {
  9         __u32 cr9;              /* PER control bits */
 10         __u32 cr10;             /* PER starting address */
 11         __u32 cr11;             /* PER ending address */
 12         __u32 bits;             /* Obsolete software bits */
 13         __u32 starting_addr;    /* User specified start address */
 14         __u32 ending_addr;      /* User specified end address */
 15         __u16 perc_atmid;       /* PER trap ATMID */
 16         __u32 address;          /* PER trap instruction address */
 17         __u8  access_id;        /* PER trap access identification */
 18 };
 19 
 20 struct compat_user_regs_struct
 21 {
 22         psw_compat_t psw;
 23         u32 gprs[NUM_GPRS];
 24         u32 acrs[NUM_ACRS];
 25         u32 orig_gpr2;
 26         /* nb: there's a 4-byte hole here */
 27         s390_fp_regs fp_regs;
 28         /*
 29          * These per registers are in here so that gdb can modify them
 30          * itself as there is no "official" ptrace interface for hardware
 31          * watchpoints. This is the way intel does it.
 32          */
 33         struct compat_per_struct_kernel per_info;
 34         u32  ieee_instruction_pointer;  /* obsolete, always 0 */
 35 };
 36 
 37 struct compat_user {
 38         /* We start with the registers, to mimic the way that "memory"
 39            is returned from the ptrace(3,...) function.  */
 40         struct compat_user_regs_struct regs;
 41         /* The rest of this junk is to help gdb figure out what goes where */
 42         u32 u_tsize;            /* Text segment size (pages). */
 43         u32 u_dsize;            /* Data segment size (pages). */
 44         u32 u_ssize;            /* Stack segment size (pages). */
 45         u32 start_code;         /* Starting virtual address of text. */
 46         u32 start_stack;        /* Starting virtual address of stack area.
 47                                    This is actually the bottom of the stack,
 48                                    the top of the stack is always found in the
 49                                    esp register.  */
 50         s32 signal;              /* Signal that caused the core dump. */
 51         u32 u_ar0;               /* Used by gdb to help find the values for */
 52                                  /* the registers. */
 53         u32 magic;               /* To uniquely identify a core file */
 54         char u_comm[32];         /* User command that was responsible */
 55 };
 56 
 57 typedef struct
 58 {
 59         __u32   len;
 60         __u32   kernel_addr;
 61         __u32   process_addr;
 62 } compat_ptrace_area;
 63 
 64 #endif /* _PTRACE32_H */
 65 

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