svr4_locore.s revision 52140
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 52140 1999-10-11 20:33:17Z luoqi $ */ 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 testl $PSL_VM,SVR4_UC_EFLAGS(%eax) 14 jnz 1f 15#endif 16 movl SVR4_UC_GS(%eax),%gs 171: pushl %eax # pointer to ucontext 18 pushl $1 # set context 19 movl $_svr4_sys_context,%eax 20 int $0x80 # enter kernel with args on stack 210: jmp 0b 22 23 ALIGN_TEXT 24svr4_esigcode: 25 26 .data 27 .globl _svr4_szsigcode 28_svr4_szsigcode: 29 .long svr4_esigcode - _svr4_sigcode 30 31 .text 32 33