]>
sourceware.org Git - glibc.git/blob - sysdeps/unix/sysv/linux/mips/sys/user.h
1 /* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
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.
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.
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, write to the Free
16 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
24 /* The whole purpose of this file is for GDB and GDB only. Don't read
25 too much into it. Don't use it for anything other than GDB unless
26 you know what you are doing. */
28 /* #include <asm/reg.h> */
29 /* Instead of including the kernel header, that will vary depending on
30 whether the 32- or the 64-bit kernel is installed, we paste its
31 contents here. Note that the fact that the file is inline here,
32 instead of included separately, doesn't change in any way the
33 licensing status of a program that includes user.h. Since this is
34 for gdb alone, and gdb is GPLed, no surprises here. */
35 #if _MIPS_SIM == _ABIO32
37 * Various register offset definitions for debuggers, core file
38 * examiners and whatnot.
40 * This file is subject to the terms and conditions of the GNU General Public
41 * License. See the file "COPYING" in the main directory of this archive
44 * Copyright (C) 1995, 1999 by Ralf Baechle
46 #ifndef __ASM_MIPS_REG_H
47 #define __ASM_MIPS_REG_H
50 * This defines/structures correspond to the register layout on stack -
51 * if the order here is changed, it needs to be updated in
52 * include/asm-mips/stackframe.h
89 * Saved special registers
95 #define EF_CP0_BADVADDR 41
96 #define EF_CP0_STATUS 42
97 #define EF_CP0_CAUSE 43
99 #define EF_SIZE 180 /* size in bytes */
101 #endif /* __ASM_MIPS_REG_H */
103 #else /* _MIPS_SIM != _ABIO32 */
106 * Various register offset definitions for debuggers, core file
107 * examiners and whatnot.
109 * This file is subject to the terms and conditions of the GNU General Public
110 * License. See the file "COPYING" in the main directory of this archive
113 * Copyright (C) 1995, 1999 Ralf Baechle
114 * Copyright (C) 1995, 1999 Silicon Graphics
120 * This defines/structures correspond to the register layout on stack -
121 * if the order here is changed, it needs to be updated in
122 * include/asm-mips/stackframe.h
159 * Saved special registers
164 #define EF_CP0_EPC 34
165 #define EF_CP0_BADVADDR 35
166 #define EF_CP0_STATUS 36
167 #define EF_CP0_CAUSE 37
169 #define EF_SIZE 304 /* size in bytes */
171 #endif /* _ASM_REG_H */
173 #endif /* _MIPS_SIM != _ABIO32 */
175 #if _MIPS_SIM == _ABIO32
179 unsigned long regs
[EF_SIZE
/4+64]; /* integer and fp regs */
180 size_t u_tsize
; /* text size (pages) */
181 size_t u_dsize
; /* data size (pages) */
182 size_t u_ssize
; /* stack size (pages) */
183 unsigned long start_code
; /* text starting address */
184 unsigned long start_data
; /* data starting address */
185 unsigned long start_stack
; /* stack starting address */
186 long int signal
; /* signal causing core dump */
187 void* u_ar0
; /* help gdb find registers */
188 unsigned long magic
; /* identifies a core file */
189 char u_comm
[32]; /* user command name */
195 __extension__
unsigned long regs
[EF_SIZE
/8+64]; /* integer and fp regs */
196 __extension__
unsigned long u_tsize
; /* text size (pages) */
197 __extension__
unsigned long u_dsize
; /* data size (pages) */
198 __extension__
unsigned long u_ssize
; /* stack size (pages) */
199 __extension__
unsigned long long start_code
; /* text starting address */
200 __extension__
unsigned long long start_data
; /* data starting address */
201 __extension__
unsigned long long start_stack
; /* stack starting address */
202 __extension__
long long signal
; /* signal causing core dump */
203 __extension__
unsigned long long u_ar0
; /* help gdb find registers */
204 __extension__
unsigned long long magic
; /* identifies a core file */
205 char u_comm
[32]; /* user command name */
210 #define PAGE_SHIFT 12
211 #define PAGE_SIZE (1UL << PAGE_SHIFT)
212 #define PAGE_MASK (~(PAGE_SIZE-1))
213 #define NBPG PAGE_SIZE
215 #define HOST_TEXT_START_ADDR (u.start_code)
216 #define HOST_DATA_START_ADDR (u.start_data)
217 #define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
219 #endif /* _SYS_USER_H */
This page took 0.055983 seconds and 5 git commands to generate.