diff options
Diffstat (limited to 'include/asm-sparc/user.h')
-rw-r--r-- | include/asm-sparc/user.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/include/asm-sparc/user.h b/include/asm-sparc/user.h new file mode 100644 index 000000000000..b5f1abf733d5 --- /dev/null +++ b/include/asm-sparc/user.h @@ -0,0 +1,60 @@ +/* $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) */ |