1 /* SPDX-License-Identifier: GPL-2.0 */ 1 2 /* 3 * S390 version 4 * 5 * Derived from "include/asm-i386/usr.h" 6 */ 7 8 #ifndef _S390_USER_H 9 #define _S390_USER_H 10 11 #include <asm/page.h> 12 #include <asm/ptrace.h> 13 /* Core file format: The core file is written 14 can understand it and provide useful inform 15 linux we use the 'trad-core' bfd). There a 16 obstacles to being able to view the content 17 registers, and until these are solved you w 18 contents of them. Actually, you can read i 19 the contents of the user struct to find out 20 registers contain. 21 The actual file contents are as follows: 22 UPAGE: 1 page consisting of a user struct t 23 in the file. Directly after this is a copy 24 is currently not used by gdb, but it may co 25 All of the registers are stored as part of 26 always be only one page. 27 DATA: The data area is stored. We use curr 28 current->brk to pick up all of the user var 29 that may have been malloced. No attempt is 30 is demand-zero or if a page is totally unus 31 range. All of the addresses are rounded in 32 number of pages is written. 33 STACK: We need the stack information in ord 34 backtrace. We need to write the data from 35 current->start_stack, so we round each of t 36 to write an integer number of pages. 37 The minimum core file size is 3 pages, or 1 38 */ 39 40 41 /* 42 * This is the old layout of "struct pt_regs", 43 * is still the layout used by user mode (the 44 * pt_regs doesn't have all registers as the k 45 * doesn't use the extra segment registers) 46 */ 47 48 /* When the kernel dumps core, it starts by du 49 this will be used by gdb to figure out wher 50 are within the file, and what virtual addre 51 struct user { 52 /* We start with the registers, to mimic the w 53 from the ptrace(3,...) function. */ 54 struct user_regs_struct regs; /* Whe 55 /* The rest of this junk is to help gdb figure 56 unsigned long int u_tsize; /* Text segmen 57 unsigned long int u_dsize; /* Data segmen 58 unsigned long int u_ssize; /* Stack segme 59 unsigned long start_code; /* Starting vi 60 unsigned long start_stack; /* Starting vi 61 This is act 62 the top of 63 esp registe 64 long int signal; /* Signal that 65 unsigned long u_ar0; /* Used by gdb 66 /* the registe 67 unsigned long magic; /* To uniquely 68 char u_comm[32]; /* User comman 69 }; 70 71 #endif /* _S390_USER_H */ 72
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.