Changeset View
Changeset View
Standalone View
Standalone View
sys/i386/i386/sigtramp.s
Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
#include <machine/asmacros.h> | #include <machine/asmacros.h> | ||||
#include <machine/psl.h> | #include <machine/psl.h> | ||||
#include "assym.inc" | #include "assym.inc" | ||||
/* | /* | ||||
* Signal trampoline, copied to top of user stack | * Signal trampoline, copied to top of user stack | ||||
*/ | */ | ||||
NON_GPROF_ENTRY(sigcode) | ENTRY(sigcode) | ||||
calll *SIGF_HANDLER(%esp) | calll *SIGF_HANDLER(%esp) | ||||
leal SIGF_UC(%esp),%eax /* get ucontext */ | leal SIGF_UC(%esp),%eax /* get ucontext */ | ||||
pushl %eax | pushl %eax | ||||
testl $PSL_VM,UC_EFLAGS(%eax) | testl $PSL_VM,UC_EFLAGS(%eax) | ||||
jne 1f | jne 1f | ||||
mov UC_GS(%eax),%gs /* restore %gs */ | mov UC_GS(%eax),%gs /* restore %gs */ | ||||
1: | 1: | ||||
movl $SYS_sigreturn,%eax | movl $SYS_sigreturn,%eax | ||||
▲ Show 20 Lines • Show All 79 Lines • Show Last 20 Lines |