2005-04-16 16:20:36 -06:00
|
|
|
/* $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
|
|
|
|
|
2008-02-08 05:19:26 -07:00
|
|
|
#include <linux/a.out.h>
|
2005-04-16 16:20:36 -06:00
|
|
|
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) */
|