svr4_locore.s revision 56042
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: head/sys/i386/svr4/svr4_locore.s 56042 2000-01-15 15:23:14Z newton $ */ 7 8NON_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 181: 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 220: jmp 0b 23 24 ALIGN_TEXT 25svr4_esigcode: 26 27 .data 28 .globl _svr4_szsigcode 29_svr4_szsigcode: 30 .long svr4_esigcode - _svr4_sigcode 31 32 .text 33 34