1 #include "svr4_assym.h" /* system definitions */
2 #include <machine/asmacros.h> /* miscellaneous asm macros */
3
4 #include <compat/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
Cache object: 759326c3da8d38c6f973141ceffb0f0b
|