143412Snewton#include "svr4_assym.h" /* system definitions */ 243412Snewton#include <machine/asmacros.h> /* miscellaneous asm macros */ 343412Snewton 465302Sobrien#include <compat/svr4/svr4_syscall.h> /* system call numbers */ 543412Snewton 650477Speter/* $FreeBSD$ */ 749270Snewton 843412SnewtonNON_GPROF_ENTRY(svr4_sigcode) 960302Sobrien call *SVR4_SIGF_HANDLER(%esp) 10113800Sobrien leal SVR4_SIGF_UC(%esp),%eax /* ucp (the call may have clobbered the 11113800Sobrien copy at SIGF_UCP(%esp)) */ 1247694Snewton#ifdef VM86 1356042Snewton#warning "VM86 doesn't work yet - do you really want this?" 1443412Snewton testl $PSL_VM,SVR4_UC_EFLAGS(%eax) 1543412Snewton jnz 1f 1643412Snewton#endif 17187948Sobrien mov SVR4_UC_GS(%eax),%gs 1852140Sluoqi1: pushl %eax # pointer to ucontext 1952140Sluoqi pushl $1 # set context 2073011Sjake movl $svr4_sys_context,%eax 2143412Snewton int $0x80 # enter kernel with args on stack 2252140Sluoqi0: jmp 0b 2343412Snewton 2450377Snewton ALIGN_TEXT 2543412Snewtonsvr4_esigcode: 2643412Snewton 2743412Snewton .data 2873011Sjake .globl svr4_szsigcode 2973011Sjakesvr4_szsigcode: 3073011Sjake .long svr4_esigcode - svr4_sigcode 3143412Snewton 3243412Snewton .text 33