blob: fce4e857dfc30632b82d79f4fce9b4e338a953c2 [file] [log] [blame]
/* $Id: user.h,v 1.1 1996/12/26 14:22:44 davem Exp $
* asm-sparc64/user.h: Core file definitions for the Sparc.
*
* Keep in sync with reg.h. Actually, we could get rid of this
* one, since we won't a.out core dump that much anyways - miguel.
* Copyright (C) 1995 (davem@caip.rutgers.edu)
*/
#ifndef _SPARC64_USER_H
#define _SPARC64_USER_H
#include <asm/a.out.h>
struct sunos_regs {
unsigned int psr, pc, npc, y;
unsigned int regs[15];
};
struct sunos_fpqueue {
unsigned int *addr;
unsigned int inst;
};
struct sunos_fp {
union {
unsigned int regs[32];
double reg_dbls[16];
} fregs;
unsigned int fsr;
unsigned int flags;
unsigned int extra;
unsigned int fpq_count;
struct sunos_fpqueue fpq[16];
};
struct sunos_fpu {
struct sunos_fp fpstatus;
};
/* The SunOS core file header layout. */
struct user {
unsigned int magic;
unsigned int len;
struct sunos_regs regs;
struct exec uexec;
int signal;
size_t u_tsize; /* all of these in bytes! */
size_t u_dsize;
size_t u_ssize;
char u_comm[17];
struct sunos_fpu fpu;
unsigned int sigcode; /* Special sigcontext subcode, if any */
};
#define NBPG PAGE_SIZE /* XXX 4096 maybe? */
#define UPAGES 1
#define HOST_TEXT_START_ADDR (u.start_code)
#define HOST_DATA_START_ADDR (u.start_data)
#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
#define SUNOS_CORE_MAGIC 0x080456
#endif /* !(_SPARC64_USER_H) */