1/* $Id: user.h,v 1.1.1.1 2008/10/15 03:27:26 james26_jang Exp $
2 * asm-sparc/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 _SPARC_USER_H
9#define _SPARC_USER_H
10
11#include <asm/a.out.h>
12struct sunos_regs {
13	unsigned long psr, pc, npc, y;
14	unsigned long regs[15];
15};
16
17struct sunos_fpqueue {
18	unsigned long *addr;
19	unsigned long inst;
20};
21
22struct sunos_fp {
23	union {
24		unsigned long regs[32];
25		double reg_dbls[16];
26	} fregs;
27	unsigned long fsr;
28	unsigned long flags;
29	unsigned long extra;
30	unsigned long fpq_count;
31	struct sunos_fpqueue fpq[16];
32};
33
34struct sunos_fpu {
35	struct sunos_fp fpstatus;
36};
37
38/* The SunOS core file header layout. */
39struct user {
40	unsigned long magic;
41	unsigned long 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 long sigcode;   /* Special sigcontext subcode, if any */
51};
52
53#define NBPG                   0x2000
54#define UPAGES                 1
55#define HOST_TEXT_START_ADDR   (u.start_code)
56#define HOST_DATA_START_ADDR   (u.uexec.a_data)
57#define HOST_STACK_END_ADDR    (- u.u_ssize * NBPG)
58#define SUNOS_CORE_MAGIC       0x080456
59
60#endif /* !(_SPARC_USER_H) */
61