linux_locore.s revision 46129
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 16 .align 2 /* long word align */ 17_linux_esigcode: 18 19 .data 20 .globl _linux_szsigcode 21_linux_szsigcode: 22 .long _linux_esigcode-_linux_sigcode 23 24 .text 25