diff options
author | deischen <deischen@FreeBSD.org> | 2002-11-16 06:35:53 +0000 |
---|---|---|
committer | deischen <deischen@FreeBSD.org> | 2002-11-16 06:35:53 +0000 |
commit | 31ea801074585bde84b74ea76bbedd715ad2f3a4 (patch) | |
tree | 7153d8e405a5cd14ef74512c9e674270132975b7 /sys/amd64/include/ucontext.h | |
parent | a858c2cb5c0438dd0886b2672ecba35cc82bf1dc (diff) | |
download | FreeBSD-src-31ea801074585bde84b74ea76bbedd715ad2f3a4.zip FreeBSD-src-31ea801074585bde84b74ea76bbedd715ad2f3a4.tar.gz |
Add getcontext, setcontext, and swapcontext as system calls.
Previously these were libc functions but were requested to
be made into system calls for atomicity and to coalesce what
might be two entrances into the kernel (signal mask setting
and floating point trap) into one.
A few style nits and comments from bde are also included.
Tested on alpha by: gallatin
Diffstat (limited to 'sys/amd64/include/ucontext.h')
-rw-r--r-- | sys/amd64/include/ucontext.h | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/sys/amd64/include/ucontext.h b/sys/amd64/include/ucontext.h index af9b4fd..ea6f0b6 100644 --- a/sys/amd64/include/ucontext.h +++ b/sys/amd64/include/ucontext.h @@ -38,7 +38,7 @@ typedef struct __mcontext { * and ucontext_t at the same time. */ int mc_onstack; /* XXX - sigcontext compat. */ - int mc_gs; + int mc_gs; /* machine state (trapframe) */ int mc_fs; int mc_es; int mc_ds; @@ -55,7 +55,7 @@ typedef struct __mcontext { int mc_eip; int mc_cs; int mc_eflags; - int mc_esp; /* machine state */ + int mc_esp; int mc_ss; int mc_len; /* sizeof(mcontext_t) */ @@ -72,8 +72,7 @@ typedef struct __mcontext { int mc_spare2[8]; } mcontext_t; -#ifdef _KERNEL -#ifdef COMPAT_FREEBSD4 +#if defined(_KERNEL) && defined(COMPAT_FREEBSD4) /* For 4.x binaries */ struct mcontext4 { int mc_onstack; /* XXX - sigcontext compat. */ @@ -101,10 +100,4 @@ struct mcontext4 { }; #endif -struct thread; - -void get_mcontext(struct thread *td, mcontext_t *mcp); -int set_mcontext(struct thread *td, const mcontext_t *mcp); -#endif - #endif /* !_MACHINE_UCONTEXT_H_ */ |