summaryrefslogtreecommitdiff
path: root/sys/amd64/include/ucontext.h
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2002-10-25 19:10:58 +0000
committerPeter Wemm <peter@FreeBSD.org>2002-10-25 19:10:58 +0000
commit23eeeff7bee66bd81fa2d7ec9d648339bd0d041f (patch)
tree96a1089f558875f808b1fd36f885179cd78f55de /sys/amd64/include/ucontext.h
parentfb3a308a4ac3ca2c6fcd097a2990d7ea52ab230f (diff)
Notes
Diffstat (limited to 'sys/amd64/include/ucontext.h')
-rw-r--r--sys/amd64/include/ucontext.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/sys/amd64/include/ucontext.h b/sys/amd64/include/ucontext.h
index d02959c232d3..af9b4fd3e732 100644
--- a/sys/amd64/include/ucontext.h
+++ b/sys/amd64/include/ucontext.h
@@ -73,6 +73,34 @@ typedef struct __mcontext {
} mcontext_t;
#ifdef _KERNEL
+#ifdef COMPAT_FREEBSD4
+/* For 4.x binaries */
+struct mcontext4 {
+ int mc_onstack; /* XXX - sigcontext compat. */
+ int mc_gs;
+ int mc_fs;
+ int mc_es;
+ int mc_ds;
+ int mc_edi;
+ int mc_esi;
+ int mc_ebp;
+ int mc_isp;
+ int mc_ebx;
+ int mc_edx;
+ int mc_ecx;
+ int mc_eax;
+ int mc_trapno;
+ int mc_err;
+ int mc_eip;
+ int mc_cs;
+ int mc_eflags;
+ int mc_esp; /* machine state */
+ int mc_ss;
+ int mc_fpregs[28]; /* env87 + fpacc87 + u_long */
+ int __spare__[17];
+};
+#endif
+
struct thread;
void get_mcontext(struct thread *td, mcontext_t *mcp);