61 строка
1.4 KiB
C
61 строка
1.4 KiB
C
|
/* $Id: user.h,v 1.5 1998/02/23 01:49:22 rth Exp $
|
||
|
* asm-sparc/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 _SPARC_USER_H
|
||
|
#define _SPARC_USER_H
|
||
|
|
||
|
#include <asm/a.out.h>
|
||
|
struct sunos_regs {
|
||
|
unsigned long psr, pc, npc, y;
|
||
|
unsigned long regs[15];
|
||
|
};
|
||
|
|
||
|
struct sunos_fpqueue {
|
||
|
unsigned long *addr;
|
||
|
unsigned long inst;
|
||
|
};
|
||
|
|
||
|
struct sunos_fp {
|
||
|
union {
|
||
|
unsigned long regs[32];
|
||
|
double reg_dbls[16];
|
||
|
} fregs;
|
||
|
unsigned long fsr;
|
||
|
unsigned long flags;
|
||
|
unsigned long extra;
|
||
|
unsigned long fpq_count;
|
||
|
struct sunos_fpqueue fpq[16];
|
||
|
};
|
||
|
|
||
|
struct sunos_fpu {
|
||
|
struct sunos_fp fpstatus;
|
||
|
};
|
||
|
|
||
|
/* The SunOS core file header layout. */
|
||
|
struct user {
|
||
|
unsigned long magic;
|
||
|
unsigned long 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 long sigcode; /* Special sigcontext subcode, if any */
|
||
|
};
|
||
|
|
||
|
#define NBPG 0x2000
|
||
|
#define UPAGES 1
|
||
|
#define HOST_TEXT_START_ADDR (u.start_code)
|
||
|
#define HOST_DATA_START_ADDR (u.uexec.a_data)
|
||
|
#define HOST_STACK_END_ADDR (- u.u_ssize * NBPG)
|
||
|
#define SUNOS_CORE_MAGIC 0x080456
|
||
|
|
||
|
#endif /* !(_SPARC_USER_H) */
|