1/* $FreeBSD: head/sys/i386/linux/linux_locore.s 182849 2008-09-07 16:39:21Z kib $ */ |
2 3#include "linux_assym.h" /* system definitions */ 4#include <machine/asmacros.h> /* miscellaneous asm macros */ 5 6#include <i386/linux/linux_syscall.h> /* system call numbers */ 7 8NON_GPROF_ENTRY(linux_sigcode) 9 call *LINUX_SIGF_HANDLER(%esp) --- 4 unchanged lines hidden (view full) --- 14 movl $LINUX_SYS_linux_sigreturn,%eax /* linux_sigreturn() */ 15 int $0x80 /* enter kernel with args */ 160: jmp 0b 17 ALIGN_TEXT 18/* XXXXX */ 19linux_rt_sigcode: 20 call *LINUX_RT_SIGF_HANDLER(%esp) 21 leal LINUX_RT_SIGF_UC(%esp),%ebx /* linux ucp */ |
22 leal LINUX_RT_SIGF_SC(%ebx),%ecx /* linux sigcontext */ 23 movl LINUX_SC_GS(%ecx),%gs |
24 push %eax /* fake ret addr */ 25 movl $LINUX_SYS_linux_rt_sigreturn,%eax /* linux_rt_sigreturn() */ 26 int $0x80 /* enter kernel with args */ 270: jmp 0b 28 ALIGN_TEXT 29/* XXXXX */ 30linux_esigcode: 31 32 .data 33 .globl linux_szsigcode, linux_sznonrtsigcode 34linux_szsigcode: 35 .long linux_esigcode-linux_sigcode 36linux_sznonrtsigcode: 37 .long linux_rt_sigcode-linux_sigcode |