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 ---