| /* $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) */ |