user.h 1.5 KB
Newer Older
L
Linus Torvalds 已提交
1 2 3 4 5 6 7 8 9 10
/* $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

11
#include <linux/a.out.h>
L
Linus Torvalds 已提交
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
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) */