1 /* Copyright (C) 2008-2022 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3 
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8 
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13 
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library.  If not, see
16    <https://www.gnu.org/licenses/>.  */
17 
18 #ifndef _SYS_USER_H
19 #define _SYS_USER_H	1
20 
21 /* The whole purpose of this file is for GDB and GDB only.  Don't read
22    too much into it.  Don't use it for anything other than GDB unless
23    you know what you are doing.  */
24 
25 struct user_m68kfp_struct {
26 	unsigned long fpregs[8*3];
27 	unsigned long fpcntl[3];
28 };
29 
30 struct user_regs_struct {
31 	long d1, d2, d3, d4, d5, d6, d7;
32 	long a0, a1, a2, a3, a4, a5, a6;
33 	long d0;
34 	long usp;
35 	long orig_d0;
36 	short stkadj;
37 	short sr;
38 	long pc;
39 	short fmtvec;
40 	short __fill;
41 };
42 
43 struct user {
44 	struct user_regs_struct regs;
45 	int u_fpvalid;
46 	struct user_m68kfp_struct m68kfp;
47 	unsigned long int u_tsize;
48 	unsigned long int u_dsize;
49 	unsigned long int u_ssize;
50 	unsigned long start_code;
51 	unsigned long start_stack;
52 	long int signal;
53 	int reserved;
54 	unsigned long u_ar0;
55 	struct user_m68kfp_struct *u_fpstate;
56 	unsigned long magic;
57 	char u_comm[32];
58 };
59 
60 #define NBPG 4096
61 #define UPAGES 1
62 #define HOST_TEXT_START_ADDR u.start_code
63 #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
64 
65 #endif
66