]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - sys/i386/svr4/svr4_locore.s
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / sys / i386 / svr4 / svr4_locore.s
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         mov     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