entry.S (334d0dd8b660557608142f0f77abc6812b48f08b) | entry.S (4a177cbf84f827cf9f1d6cfa5264fafd3cc33ce0) |
---|---|
1/* 2 * arch/ia64/kernel/entry.S 3 * 4 * Kernel entry points. 5 * 6 * Copyright (C) 1998-2003, 2005 Hewlett-Packard Co 7 * David Mosberger-Tang <davidm@hpl.hp.com> 8 * Copyright (C) 1999, 2002-2003 --- 1185 unchanged lines hidden (view full) --- 1194 ld8 r9=[sp] // load new unat from sigscratch->scratch_unat 1195 mov rp=loc0 1196 ;; 1197 mov ar.unat=r9 1198 mov ar.pfs=loc1 1199 br.ret.sptk.many rp 1200END(notify_resume_user) 1201 | 1/* 2 * arch/ia64/kernel/entry.S 3 * 4 * Kernel entry points. 5 * 6 * Copyright (C) 1998-2003, 2005 Hewlett-Packard Co 7 * David Mosberger-Tang <davidm@hpl.hp.com> 8 * Copyright (C) 1999, 2002-2003 --- 1185 unchanged lines hidden (view full) --- 1194 ld8 r9=[sp] // load new unat from sigscratch->scratch_unat 1195 mov rp=loc0 1196 ;; 1197 mov ar.unat=r9 1198 mov ar.pfs=loc1 1199 br.ret.sptk.many rp 1200END(notify_resume_user) 1201 |
1202GLOBAL_ENTRY(sys_rt_sigsuspend) 1203 .prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(8) 1204 alloc loc1=ar.pfs,8,2,3,0 // preserve all eight input regs in case of syscall restart! 1205 mov r9=ar.unat 1206 mov loc0=rp // save return address 1207 mov out0=in0 // mask 1208 mov out1=in1 // sigsetsize 1209 adds out2=8,sp // out2=&sigscratch->ar_pfs 1210 ;; 1211 .fframe 16 1212 .spillsp ar.unat, 16 1213 st8 [sp]=r9,-16 // allocate space for ar.unat and save it 1214 st8 [out2]=loc1,-8 // save ar.pfs, out2=&sigscratch 1215 .body 1216 br.call.sptk.many rp=ia64_rt_sigsuspend 1217.ret17: .restore sp 1218 adds sp=16,sp // pop scratch stack space 1219 ;; 1220 ld8 r9=[sp] // load new unat from sw->caller_unat 1221 mov rp=loc0 1222 ;; 1223 mov ar.unat=r9 1224 mov ar.pfs=loc1 1225 br.ret.sptk.many rp 1226END(sys_rt_sigsuspend) 1227 | |
1228ENTRY(sys_rt_sigreturn) 1229 PT_REGS_UNWIND_INFO(0) 1230 /* 1231 * Allocate 8 input registers since ptrace() may clobber them 1232 */ 1233 alloc r2=ar.pfs,8,0,1,0 1234 .prologue 1235 PT_REGS_SAVES(16) --- 378 unchanged lines hidden --- | 1202ENTRY(sys_rt_sigreturn) 1203 PT_REGS_UNWIND_INFO(0) 1204 /* 1205 * Allocate 8 input registers since ptrace() may clobber them 1206 */ 1207 alloc r2=ar.pfs,8,0,1,0 1208 .prologue 1209 PT_REGS_SAVES(16) --- 378 unchanged lines hidden --- |