summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-01-13 22:00:57 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-01-13 22:00:57 +0000
commit4d2843a1a2cde2395d324808c22e3c0d7a3b840e (patch)
tree701d9bbae55507bcbd1cd5a08f464dd6c2175501 /sys/arch
parentc0491083217bbb03ade7c1f7ef52e9680dbd1e34 (diff)
Bring back a <machine/frame.h> for m88k platforms, by splitting <machine/pcb.h>
in its exception-related contents and pcb-related contents.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/aviion/include/frame.h3
-rw-r--r--sys/arch/luna88k/include/frame.h3
-rw-r--r--sys/arch/m88k/include/db_machdep.h4
-rw-r--r--sys/arch/m88k/include/frame.h90
-rw-r--r--sys/arch/m88k/include/pcb.h56
-rw-r--r--sys/arch/mvme88k/include/frame.h3
6 files changed, 104 insertions, 55 deletions
diff --git a/sys/arch/aviion/include/frame.h b/sys/arch/aviion/include/frame.h
new file mode 100644
index 00000000000..b8edc441167
--- /dev/null
+++ b/sys/arch/aviion/include/frame.h
@@ -0,0 +1,3 @@
+/* $OpenBSD: frame.h,v 1.3 2007/01/13 22:00:56 miod Exp $ */
+/* public domain */
+#include <m88k/frame.h>
diff --git a/sys/arch/luna88k/include/frame.h b/sys/arch/luna88k/include/frame.h
new file mode 100644
index 00000000000..e4c0ec96030
--- /dev/null
+++ b/sys/arch/luna88k/include/frame.h
@@ -0,0 +1,3 @@
+/* $OpenBSD: frame.h,v 1.5 2007/01/13 22:00:56 miod Exp $ */
+/* public domain */
+#include <m88k/frame.h>
diff --git a/sys/arch/m88k/include/db_machdep.h b/sys/arch/m88k/include/db_machdep.h
index af7904eabc7..4d9a986be56 100644
--- a/sys/arch/m88k/include/db_machdep.h
+++ b/sys/arch/m88k/include/db_machdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: db_machdep.h,v 1.11 2006/12/24 20:30:35 miod Exp $ */
+/* $OpenBSD: db_machdep.h,v 1.12 2007/01/13 22:00:56 miod Exp $ */
/*
* Mach Operating System
* Copyright (c) 1993-1991 Carnegie Mellon University
@@ -36,7 +36,7 @@
#ifndef _LOCORE
-#include <machine/pcb.h>
+#include <machine/reg.h>
#include <machine/trap.h>
#include <uvm/uvm_param.h>
diff --git a/sys/arch/m88k/include/frame.h b/sys/arch/m88k/include/frame.h
new file mode 100644
index 00000000000..d935b052180
--- /dev/null
+++ b/sys/arch/m88k/include/frame.h
@@ -0,0 +1,90 @@
+/* $OpenBSD: frame.h,v 1.3 2007/01/13 22:00:56 miod Exp $ */
+/*
+ * Copyright (c) 1996 Nivas Madhur
+ * Mach Operating System
+ * Copyright (c) 1993-1992 Carnegie Mellon University
+ * All Rights Reserved.
+ *
+ * Permission to use, copy, modify and distribute this software and its
+ * documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON AND OMRON ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION. CARNEGIE MELLON AND OMRON DISCLAIM ANY LIABILITY OF ANY KIND
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
+ * School of Computer Science
+ * Carnegie Mellon University
+ * Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie Mellon
+ * the rights to redistribute these changes.
+ */
+/*
+ * Motorola 88100 exception frame definitions
+ *
+ */
+/*
+ */
+#ifndef _M88K_FRAME_H_
+#define _M88K_FRAME_H_
+
+#include <machine/reg.h>
+
+struct trapframe {
+ struct reg tf_regs;
+ register_t tf_vector; /* exception vector number */
+ register_t tf_mask; /* interrupt mask level */
+ register_t tf_mode; /* interrupt mode */
+ register_t tf_scratch1; /* reserved for use by locore */
+ register_t tf_ipfsr; /* P BUS status */
+ register_t tf_dpfsr; /* P BUS status */
+ void *tf_cpu; /* cpu_info pointer */
+};
+
+#define tf_r tf_regs.r
+#define tf_sp tf_regs.r[31]
+#define tf_epsr tf_regs.epsr
+#define tf_fpsr tf_regs.fpsr
+#define tf_fpcr tf_regs.fpcr
+#define tf_sxip tf_regs.sxip
+#define tf_snip tf_regs.snip
+#define tf_sfip tf_regs.sfip
+#define tf_exip tf_regs.sxip
+#define tf_enip tf_regs.snip
+#define tf_ssbr tf_regs.ssbr
+#define tf_dmt0 tf_regs.dmt0
+#define tf_dmd0 tf_regs.dmd0
+#define tf_dma0 tf_regs.dma0
+#define tf_dmt1 tf_regs.dmt1
+#define tf_dmd1 tf_regs.dmd1
+#define tf_dma1 tf_regs.dma1
+#define tf_dmt2 tf_regs.dmt2
+#define tf_dmd2 tf_regs.dmd2
+#define tf_dma2 tf_regs.dma2
+#define tf_duap tf_regs.ssbr
+#define tf_dsr tf_regs.dmt0
+#define tf_dlar tf_regs.dmd0
+#define tf_dpar tf_regs.dma0
+#define tf_isr tf_regs.dmt1
+#define tf_ilar tf_regs.dmd1
+#define tf_ipar tf_regs.dma1
+#define tf_isap tf_regs.dmt2
+#define tf_dsap tf_regs.dmd2
+#define tf_iuap tf_regs.dma2
+#define tf_fpecr tf_regs.fpecr
+#define tf_fphs1 tf_regs.fphs1
+#define tf_fpls1 tf_regs.fpls1
+#define tf_fphs2 tf_regs.fphs2
+#define tf_fpls2 tf_regs.fpls2
+#define tf_fppt tf_regs.fppt
+#define tf_fprh tf_regs.fprh
+#define tf_fprl tf_regs.fprl
+#define tf_fpit tf_regs.fpit
+
+#endif /* _M88K_FRAME_H_ */
diff --git a/sys/arch/m88k/include/pcb.h b/sys/arch/m88k/include/pcb.h
index e12b14cea62..7baa1e69bf8 100644
--- a/sys/arch/m88k/include/pcb.h
+++ b/sys/arch/m88k/include/pcb.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcb.h,v 1.3 2006/11/18 22:49:40 miod Exp $ */
+/* $OpenBSD: pcb.h,v 1.4 2007/01/13 22:00:56 miod Exp $ */
/*
* Copyright (c) 1996 Nivas Madhur
* Mach Operating System
@@ -34,7 +34,7 @@
#ifndef _M88K_PCB_H_
#define _M88K_PCB_H_
-#include <machine/reg.h>
+#include <machine/frame.h>
/*
* Our PCB is the regular PCB+Save area for kernel frame.
@@ -73,57 +73,6 @@ struct m88100_pcb {
unsigned pcb_fcr63;
};
-struct trapframe {
- struct reg tf_regs;
- register_t tf_vector; /* exception vector number */
- register_t tf_mask; /* interrupt mask level */
- register_t tf_mode; /* interrupt mode */
- register_t tf_scratch1; /* reserved for use by locore */
- register_t tf_ipfsr; /* P BUS status */
- register_t tf_dpfsr; /* P BUS status */
- void *tf_cpu; /* cpu_info pointer */
-};
-
-#define tf_r tf_regs.r
-#define tf_sp tf_regs.r[31]
-#define tf_epsr tf_regs.epsr
-#define tf_fpsr tf_regs.fpsr
-#define tf_fpcr tf_regs.fpcr
-#define tf_sxip tf_regs.sxip
-#define tf_snip tf_regs.snip
-#define tf_sfip tf_regs.sfip
-#define tf_exip tf_regs.sxip
-#define tf_enip tf_regs.snip
-#define tf_ssbr tf_regs.ssbr
-#define tf_dmt0 tf_regs.dmt0
-#define tf_dmd0 tf_regs.dmd0
-#define tf_dma0 tf_regs.dma0
-#define tf_dmt1 tf_regs.dmt1
-#define tf_dmd1 tf_regs.dmd1
-#define tf_dma1 tf_regs.dma1
-#define tf_dmt2 tf_regs.dmt2
-#define tf_dmd2 tf_regs.dmd2
-#define tf_dma2 tf_regs.dma2
-#define tf_duap tf_regs.ssbr
-#define tf_dsr tf_regs.dmt0
-#define tf_dlar tf_regs.dmd0
-#define tf_dpar tf_regs.dma0
-#define tf_isr tf_regs.dmt1
-#define tf_ilar tf_regs.dmd1
-#define tf_ipar tf_regs.dma1
-#define tf_isap tf_regs.dmt2
-#define tf_dsap tf_regs.dmd2
-#define tf_iuap tf_regs.dma2
-#define tf_fpecr tf_regs.fpecr
-#define tf_fphs1 tf_regs.fphs1
-#define tf_fpls1 tf_regs.fpls1
-#define tf_fphs2 tf_regs.fphs2
-#define tf_fpls2 tf_regs.fpls2
-#define tf_fppt tf_regs.fppt
-#define tf_fprh tf_regs.fprh
-#define tf_fprl tf_regs.fprl
-#define tf_fpit tf_regs.fpit
-
struct pcb
{
struct m88100_pcb kernel_state;
@@ -136,6 +85,7 @@ struct pcb
*/
#define USER_REGS(p) \
(((struct reg *)(&((p)->p_addr->u_pcb.user_state))))
+
/*
* The pcb is augmented with machine-dependent additional data for
* core dumps. Note that the trapframe here is a copy of the one
diff --git a/sys/arch/mvme88k/include/frame.h b/sys/arch/mvme88k/include/frame.h
new file mode 100644
index 00000000000..f06ca59033d
--- /dev/null
+++ b/sys/arch/mvme88k/include/frame.h
@@ -0,0 +1,3 @@
+/* $OpenBSD: frame.h,v 1.11 2007/01/13 22:00:56 miod Exp $ */
+/* public domain */
+#include <m88k/frame.h>