linux_locore.s revision 52140
150276Speter/* $FreeBSD: head/sys/i386/linux/linux_locore.s 52140 1999-10-11 20:33:17Z luoqi $ */ 250276Speter 362449Speter#include "linux_assym.h" /* system definitions */ 450276Speter#include <machine/asmacros.h> /* miscellaneous asm macros */ 550276Speter 650276Speter#include <i386/linux/linux_syscall.h> /* system call numbers */ 750276Speter 850276SpeterNON_GPROF_ENTRY(linux_sigcode) 950276Speter call LINUX_SIGF_HANDLER(%esp) 1050276Speter leal LINUX_SIGF_SC(%esp),%ebx /* linux scp */ 1150276Speter movl LINUX_SC_GS(%ebx),%gs 1250276Speter push %eax /* fake ret addr */ 1350276Speter movl $LINUX_SYS_linux_sigreturn,%eax /* linux_sigreturn() */ 1450276Speter int $0x80 /* enter kernel with args */ 1550276Speter0: jmp 0b 1650276Speter ALIGN_TEXT 1750276Speter_linux_esigcode: 1850276Speter 1950276Speter .data 2050276Speter .globl _linux_szsigcode 2150276Speter_linux_szsigcode: 2250276Speter .long _linux_esigcode-_linux_sigcode 2350276Speter 2450276Speter .text 2550276Speter