Merge branches 'release' and 'gpe-ack' into release
[linux-2.6] / include / asm-sparc64 / user.h
1 /* $Id: user.h,v 1.1 1996/12/26 14:22:44 davem Exp $
2  * asm-sparc64/user.h: Core file definitions for the Sparc.
3  *
4  * Keep in sync with reg.h.  Actually, we could get rid of this
5  * one, since we won't a.out core dump that much anyways - miguel.
6  * Copyright (C) 1995 (davem@caip.rutgers.edu)
7  */
8 #ifndef _SPARC64_USER_H
9 #define _SPARC64_USER_H
10
11 #include <asm/a.out.h>
12 struct sunos_regs {
13         unsigned int psr, pc, npc, y;
14         unsigned int regs[15];
15 };
16
17 struct sunos_fpqueue {
18         unsigned int *addr;
19         unsigned int inst;
20 };
21
22 struct sunos_fp {
23         union {
24                 unsigned int regs[32];
25                 double reg_dbls[16];
26         } fregs;
27         unsigned int fsr;
28         unsigned int flags;
29         unsigned int extra;
30         unsigned int fpq_count;
31         struct sunos_fpqueue fpq[16];
32 };
33
34 struct sunos_fpu {
35         struct sunos_fp fpstatus;
36 };
37
38 /* The SunOS core file header layout. */
39 struct user {
40         unsigned int magic;
41         unsigned int len;
42         struct sunos_regs regs;
43         struct exec uexec;
44         int           signal;
45         size_t        u_tsize; /* all of these in bytes! */
46         size_t        u_dsize;
47         size_t        u_ssize;
48         char          u_comm[17];
49         struct sunos_fpu fpu;
50         unsigned int  sigcode;   /* Special sigcontext subcode, if any */
51 };
52
53 #define NBPG                   PAGE_SIZE /* XXX 4096 maybe? */
54 #define UPAGES                 1
55 #define HOST_TEXT_START_ADDR   (u.start_code)
56 #define HOST_DATA_START_ADDR   (u.start_data)
57 #define HOST_STACK_END_ADDR    (u.start_stack + u.u_ssize * NBPG)
58 #define SUNOS_CORE_MAGIC       0x080456
59
60 #endif /* !(_SPARC64_USER_H) */