1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 21da177e4SLinus Torvalds struct sigscratch { 31da177e4SLinus Torvalds unsigned long scratch_unat; /* ar.unat for the general registers saved in pt */ 41da177e4SLinus Torvalds unsigned long ar_pfs; /* for syscalls, the user-level function-state */ 51da177e4SLinus Torvalds struct pt_regs pt; 61da177e4SLinus Torvalds }; 71da177e4SLinus Torvalds 81da177e4SLinus Torvalds struct sigframe { 91da177e4SLinus Torvalds /* 101da177e4SLinus Torvalds * Place signal handler args where user-level unwinder can find them easily. 111da177e4SLinus Torvalds * DO NOT MOVE THESE. They are part of the IA-64 Linux ABI and there is 121da177e4SLinus Torvalds * user-level code that depends on their presence! 131da177e4SLinus Torvalds */ 141da177e4SLinus Torvalds unsigned long arg0; /* signum */ 151da177e4SLinus Torvalds unsigned long arg1; /* siginfo pointer */ 161da177e4SLinus Torvalds unsigned long arg2; /* sigcontext pointer */ 171da177e4SLinus Torvalds /* 181da177e4SLinus Torvalds * End of architected state. 191da177e4SLinus Torvalds */ 201da177e4SLinus Torvalds 211da177e4SLinus Torvalds void __user *handler; /* pointer to the plabel of the signal handler */ 221da177e4SLinus Torvalds struct siginfo info; 231da177e4SLinus Torvalds struct sigcontext sc; 241da177e4SLinus Torvalds }; 251da177e4SLinus Torvalds 264a177cbfSAlexey Dobriyan extern void ia64_do_signal (struct sigscratch *, long); 27