diff options
author | marcel <marcel@FreeBSD.org> | 1999-10-07 12:40:34 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 1999-10-07 12:40:34 +0000 |
commit | 82d2a417f9f83101d1887aa1f696d8855b15cb8e (patch) | |
tree | 0f8242e8f4f2389aea38ffa052f3deaf4df7651d /sys/amd64/include/ucontext.h | |
parent | 92cdc096e64f4f2f9198db3941bce72a914b7350 (diff) | |
download | FreeBSD-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.h | 21 |
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]; |