linux_locore.s revision 60302
152140Sluoqi/* $FreeBSD: head/sys/i386/linux/linux_locore.s 60302 2000-05-10 01:21:15Z obrien $ */ 252140Sluoqi 314331Speter#include "linux_assym.h" /* system definitions */ 414331Speter#include <machine/asmacros.h> /* miscellaneous asm macros */ 514331Speter 614331Speter#include <i386/linux/linux_syscall.h> /* system call numbers */ 714331Speter 814331SpeterNON_GPROF_ENTRY(linux_sigcode) 960302Sobrien call *LINUX_SIGF_HANDLER(%esp) 1014331Speter leal LINUX_SIGF_SC(%esp),%ebx /* linux scp */ 1152140Sluoqi movl LINUX_SC_GS(%ebx),%gs 1214331Speter push %eax /* fake ret addr */ 1314331Speter movl $LINUX_SYS_linux_sigreturn,%eax /* linux_sigreturn() */ 1452140Sluoqi int $0x80 /* enter kernel with args */ 1552140Sluoqi0: jmp 0b 1650363Smarcel ALIGN_TEXT 1714331Speter_linux_esigcode: 1814331Speter 1914331Speter .data 2014331Speter .globl _linux_szsigcode 2114331Speter_linux_szsigcode: 2214331Speter .long _linux_esigcode-_linux_sigcode 2314331Speter 2414331Speter .text 25