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