summaryrefslogtreecommitdiffstats
path: root/sys/ia64/include/frame.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ia64/include/frame.h')
-rw-r--r--sys/ia64/include/frame.h81
1 files changed, 6 insertions, 75 deletions
diff --git a/sys/ia64/include/frame.h b/sys/ia64/include/frame.h
index a66345d..262a8bf 100644
--- a/sys/ia64/include/frame.h
+++ b/sys/ia64/include/frame.h
@@ -29,87 +29,18 @@
#ifndef _MACHINE_FRAME_H_
#define _MACHINE_FRAME_H_
-#include <machine/reg.h>
+#include <machine/_regset.h>
/*
* Software trap, exception, and syscall frame.
*/
struct trapframe {
- u_int64_t tf_flags;
+ uint64_t tf_length;
+ uint64_t tf_flags;
#define FRAME_SYSCALL 1 /* syscalls use a partial trapframe */
-
- u_int64_t tf_cr_iip;
- u_int64_t tf_cr_ipsr;
- u_int64_t tf_cr_isr;
- u_int64_t tf_cr_ifa;
- u_int64_t tf_pr;
- u_int64_t tf_ar_rsc;
- u_int64_t tf_ar_pfs;
- u_int64_t tf_cr_ifs;
- u_int64_t tf_ar_bspstore;
- u_int64_t tf_ar_rnat;
- u_int64_t tf_ndirty;
- u_int64_t tf_ar_unat;
- u_int64_t tf_ar_ccv;
- u_int64_t tf_ar_fpsr;
- u_int64_t tf_ar_lc;
- u_int64_t tf_ar_ec;
-
- u_int64_t tf_b[8];
-
- u_int64_t tf_r[31]; /* don't need to save r0 */
-#define FRAME_R1 0
-#define FRAME_R2 1
-#define FRAME_R3 2
-#define FRAME_R4 3
-#define FRAME_R5 4
-#define FRAME_R6 5
-#define FRAME_R7 6
-#define FRAME_R8 7
-#define FRAME_R9 8
-#define FRAME_R10 9
-#define FRAME_R11 10
-#define FRAME_R12 11
-#define FRAME_R13 12
-#define FRAME_R14 13
-#define FRAME_R15 14
-#define FRAME_R16 15
-#define FRAME_R17 16
-#define FRAME_R18 17
-#define FRAME_R19 18
-#define FRAME_R20 19
-#define FRAME_R21 20
-#define FRAME_R22 21
-#define FRAME_R23 22
-#define FRAME_R24 23
-#define FRAME_R25 24
-#define FRAME_R26 25
-#define FRAME_R27 26
-#define FRAME_R28 27
-#define FRAME_R29 28
-#define FRAME_R30 29
-#define FRAME_R31 30
-
-#define FRAME_GP FRAME_R1
-#define FRAME_SP FRAME_R12
-#define FRAME_TP FRAME_R13
-
- /*
- * We rely on the compiler to save/restore f2-f5 and
- * f16-f31. We also tell the compiler to avoid f32-f127
- * completely so we don't worry about them at all.
- */
- struct ia64_fpreg tf_f[10];
-#define FRAME_F6 0
-#define FRAME_F7 1
-#define FRAME_F8 2
-#define FRAME_F9 3
-#define FRAME_F10 4
-#define FRAME_F11 5
-#define FRAME_F12 6
-#define FRAME_F13 7
-#define FRAME_F14 8
-#define FRAME_F15 9
+ struct _special tf_special;
+ struct _caller_saved tf_scratch;
+ struct _caller_saved_fp tf_scratch_fp;
};
#endif /* _MACHINE_FRAME_H_ */
OpenPOWER on IntegriCloud