summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc/user.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-sparc/user.h')
-rw-r--r--include/asm-sparc/user.h60
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 00000000000..b5f1abf733d
--- /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) */