summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2001-12-29 06:56:11 +0000
committerjake <jake@FreeBSD.org>2001-12-29 06:56:11 +0000
commit9ca32fc4400722529e4a02486e269a7b8f6fcfba (patch)
treefba657ce2c173bf60a6b3a9fb1932da15b3d365e
parentfc3b645fd1fa12728fc7a29e979fa210468d57fc (diff)
downloadFreeBSD-src-9ca32fc4400722529e4a02486e269a7b8f6fcfba.zip
FreeBSD-src-9ca32fc4400722529e4a02486e269a7b8f6fcfba.tar.gz
Add definitions for magic numbers used in asm.
Bloat trapframe with many extra fields so we don't need extra structures. Use small data types where possible. Remove second copy of TF_DONE. Remove mmuframe.
-rw-r--r--sys/sparc64/include/frame.h32
1 files changed, 15 insertions, 17 deletions
diff --git a/sys/sparc64/include/frame.h b/sys/sparc64/include/frame.h
index 5d621c7..bcd1af7 100644
--- a/sys/sparc64/include/frame.h
+++ b/sys/sparc64/include/frame.h
@@ -29,37 +29,35 @@
#ifndef _MACHINE_FRAME_H_
#define _MACHINE_FRAME_H_
-#define SPOFF 2047
+#define PTR_SHIFT 3
+#define RW_SHIFT 7
+#define SPOFF 2047
struct trapframe {
u_long tf_global[8];
u_long tf_out[8];
- u_long tf_pil;
+ u_long tf_fsr;
+ u_long tf_sfar;
+ u_long tf_tar;
u_long tf_tnpc;
u_long tf_tpc;
u_long tf_tstate;
- u_long tf_type;
- u_long tf_wstate;
- uintptr_t tf_arg;
+ u_int tf_sfsr;
+ u_int tf_type;
+ u_int tf_y;
+ u_char tf_fprs;
+ u_char tf_pil;
+ u_char tf_wstate;
+ u_char tf_pad[1];
};
-#define tf_sp tf_out[6]
+#define tf_level tf_sfsr
+#define tf_sp tf_out[6]
#define TF_DONE(tf) do { \
tf->tf_tpc = tf->tf_tnpc; \
tf->tf_tnpc += 4; \
} while (0)
-#define TF_DONE(tf) do { \
- tf->tf_tpc = tf->tf_tnpc; \
- tf->tf_tnpc += 4; \
-} while (0)
-
-struct mmuframe {
- u_long mf_sfar;
- u_long mf_sfsr;
- u_long mf_tar;
-};
-
struct clockframe {
struct trapframe cf_tf;
};
OpenPOWER on IntegriCloud