svr4_locore.s revision 65302
118334Speter#include "svr4_assym.h" /* system definitions */ 218334Speter#include <machine/asmacros.h> /* miscellaneous asm macros */ 350397Sobrien 418334Speter#include <compat/svr4/svr4_syscall.h> /* system call numbers */ 518334Speter 618334Speter/* $FreeBSD: head/sys/i386/svr4/svr4_locore.s 65302 2000-08-31 22:54:09Z obrien $ */ 718334Speter 818334SpeterNON_GPROF_ENTRY(svr4_sigcode) 918334Speter call *SVR4_SIGF_HANDLER(%esp) 1018334Speter leal SVR4_SIGF_UC(%esp),%eax # ucp (the call may have clobbered the 1118334Speter # copy at SIGF_UCP(%esp)) 1218334Speter#ifdef VM86 1318334Speter#warning "VM86 doesn't work yet - do you really want this?" 1418334Speter testl $PSL_VM,SVR4_UC_EFLAGS(%eax) 1518334Speter jnz 1f 1618334Speter#endif 1718334Speter movl SVR4_UC_GS(%eax),%gs 1818334Speter1: pushl %eax # pointer to ucontext 1918334Speter pushl $1 # set context 2018334Speter movl $_svr4_sys_context,%eax 2118334Speter int $0x80 # enter kernel with args on stack 2218334Speter0: jmp 0b 2350397Sobrien 2418334Speter ALIGN_TEXT 2518334Spetersvr4_esigcode: 2618334Speter 2750397Sobrien .data 2818334Speter .globl _svr4_szsigcode 2918334Speter_svr4_szsigcode: 3018334Speter .long svr4_esigcode - _svr4_sigcode 3118334Speter 3218334Speter .text 3318334Speter 3418334Speter