svr4_locore.s revision 50377
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/* $Id: svr4_locore.s,v 1.6 1999/07/30 12:47:17 newton Exp $ */ 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#if defined(NOTYET) 13#ifdef VM86 14 testl $PSL_VM,SVR4_UC_EFLAGS(%eax) 15 jnz 1f 16#endif 17#endif 18 movl SVR4_UC_GS(%eax),%edx 19 movl %dx,%gs 201: pushl %eax # fake return address 21 pushl $1 # pointer to ucontext 22 movl $_svr4_sys_context,%eax 23 int $0x80 # enter kernel with args on stack 24 movl $exit,%eax 25 int $0x80 # exit if sigreturn fails 26 27 ALIGN_TEXT 28svr4_esigcode: 29 30 .data 31 .globl _svr4_szsigcode 32_svr4_szsigcode: 33 .long svr4_esigcode - _svr4_sigcode 34 35 .text 36 37