1 #include "svr4_assym.h" /* system definitions */
2 #include <machine/asmacros.h> /* miscellaneous asm macros */
3
4 #include <svr4/svr4_syscall.h> /* system call numbers */
5
6 /* $FreeBSD$ */
7
8 NON_GPROF_ENTRY(svr4_sigcode)
9 call *SVR4_SIGF_HANDLER(%esp)
10 leal SVR4_SIGF_UC(%esp),%eax # ucp (the call may have clobbered the
11 # copy at SIGF_UCP(%esp))
12 #ifdef VM86
13 #warning "VM86 doesn't work yet - do you really want this?"
14 testl $PSL_VM,SVR4_UC_EFLAGS(%eax)
15 jnz 1f
16 #endif
17 movl SVR4_UC_GS(%eax),%gs
18 1: pushl %eax # pointer to ucontext
19 pushl $1 # set context
20 movl $_svr4_sys_context,%eax
21 int $0x80 # enter kernel with args on stack
22 0: jmp 0b
23
24 ALIGN_TEXT
25 svr4_esigcode:
26
27 .data
28 .globl _svr4_szsigcode
29 _svr4_szsigcode:
30 .long svr4_esigcode - _svr4_sigcode
31
32 .text
33
Cache object: c1619466390dcb677fabcdabb609ee07
|