linux_locore.s revision 50363
1#include "linux_assym.h" /* system definitions */ 2#include <machine/asmacros.h> /* miscellaneous asm macros */ 3 4#include <i386/linux/linux_syscall.h> /* system call numbers */ 5 6NON_GPROF_ENTRY(linux_sigcode) 7 call LINUX_SIGF_HANDLER(%esp) 8 leal LINUX_SIGF_SC(%esp),%ebx /* linux scp */ 9 movl LINUX_SC_GS(%ebx),%edx 10 movl %dx,%gs 11 push %eax /* fake ret addr */ 12 movl $LINUX_SYS_linux_sigreturn,%eax /* linux_sigreturn() */ 13 int $0x80 /* enter kernel with args on stack */ 14 hlt /* never gets here */ 15 ALIGN_TEXT 16_linux_esigcode: 17 18 .data 19 .globl _linux_szsigcode 20_linux_szsigcode: 21 .long _linux_esigcode-_linux_sigcode 22 23 .text 24