1 /* SPDX-License-Identifier: GPL-2.0 */ 1 2 #ifndef _M68K_USER_H 3 #define _M68K_USER_H 4 5 /* Core file format: The core file is written 6 can understand it and provide useful inform 7 linux we use the 'trad-core' bfd). There a 8 obstacles to being able to view the content 9 registers, and until these are solved you w 10 contents of them. Actually, you can read i 11 the contents of the user struct to find out 12 registers contain. 13 The actual file contents are as follows: 14 UPAGE: 1 page consisting of a user struct t 15 in the file. Directly after this is a copy 16 is currently not used by gdb, but it may co 17 All of the registers are stored as part of 18 always be only one page. 19 DATA: The data area is stored. We use curr 20 current->brk to pick up all of the user var 21 that may have been malloced. No attempt is 22 is demand-zero or if a page is totally unus 23 range. All of the addresses are rounded in 24 number of pages is written. 25 STACK: We need the stack information in ord 26 backtrace. We need to write the data from 27 current->start_stack, so we round each of t 28 to write an integer number of pages. 29 The minimum core file size is 3 pages, or 1 30 */ 31 32 struct user_m68kfp_struct { 33 unsigned long fpregs[8*3]; /* fp0 34 unsigned long fpcntl[3]; /* fp 35 }; 36 37 /* This is the old layout of "struct pt_regs" 38 is still the layout used by user (the new p 39 all registers). */ 40 struct user_regs_struct { 41 long d1,d2,d3,d4,d5,d6,d7; 42 long a0,a1,a2,a3,a4,a5,a6; 43 long d0; 44 long usp; 45 long orig_d0; 46 short stkadj; 47 short sr; 48 long pc; 49 short fmtvec; 50 short __fill; 51 }; 52 53 54 /* When the kernel dumps core, it starts by du 55 this will be used by gdb to figure out wher 56 are within the file, and what virtual addre 57 struct user{ 58 /* We start with the registers, to mimic the w 59 from the ptrace(3,...) function. */ 60 struct user_regs_struct regs; /* Where the r 61 /* ptrace does not yet supply these. Someday. 62 int u_fpvalid; /* True if mat 63 /* for this me 64 struct user_m68kfp_struct m68kfp; /* Math Co 65 /* The rest of this junk is to help gdb figure 66 unsigned long int u_tsize; /* Text segmen 67 unsigned long int u_dsize; /* Data segmen 68 unsigned long int u_ssize; /* Stack segme 69 unsigned long start_code; /* Starting vi 70 unsigned long start_stack; /* Starting vi 71 This is act 72 the top of 73 esp registe 74 long int signal; /* Signal that 75 int reserved; /* No longer u 76 unsigned long u_ar0; /* Used by gdb 77 /* the registe 78 struct user_m68kfp_struct* u_fpstate; /* Mat 79 unsigned long magic; /* To uniquely 80 char u_comm[32]; /* User comman 81 }; 82 83 #endif 84
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.