summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/ucontext.h
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>1999-10-07 12:40:34 +0000
committermarcel <marcel@FreeBSD.org>1999-10-07 12:40:34 +0000
commit82d2a417f9f83101d1887aa1f696d8855b15cb8e (patch)
tree0f8242e8f4f2389aea38ffa052f3deaf4df7651d /sys/amd64/include/ucontext.h
parent92cdc096e64f4f2f9198db3941bce72a914b7350 (diff)
downloadFreeBSD-src-82d2a417f9f83101d1887aa1f696d8855b15cb8e.zip
FreeBSD-src-82d2a417f9f83101d1887aa1f696d8855b15cb8e.tar.gz
Simplification of the signal trampoline and other cleanups.
o Remove unused defines from genassym.c that were needed by the trampoline. o Add load_gs_param function to support.s that catches a fault when %gs is loaded with an invalid descriptor. The function returns EFAULT in that case. o Remove struct trapframe from mcontext_t and replace it with the list of registers. o Modify sendsig and sigreturn accordingly. This commit contains a patch by bde. Reviewed by: luoqi, jdp
Diffstat (limited to 'sys/amd64/include/ucontext.h')
-rw-r--r--sys/amd64/include/ucontext.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/sys/amd64/include/ucontext.h b/sys/amd64/include/ucontext.h
index 0d72716..6397a31 100644
--- a/sys/amd64/include/ucontext.h
+++ b/sys/amd64/include/ucontext.h
@@ -35,13 +35,30 @@
typedef struct __mcontext {
/*
- * The first 3 fields must match the definition of
+ * The first 20 fields must match the definition of
* sigcontext. So that we can support sigcontext
* and ucontext_t at the same time.
*/
int mc_onstack; /* XXX - sigcontext compat. */
int mc_gs;
- struct trapframe mc_tf;
+ 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];
OpenPOWER on IntegriCloud