GNU Linux-libre 4.4.292-gnu1
[releases.git] / arch / ia64 / kernel / sigframe.h
1 struct sigscratch {
2         unsigned long scratch_unat;     /* ar.unat for the general registers saved in pt */
3         unsigned long ar_pfs;           /* for syscalls, the user-level function-state  */
4         struct pt_regs pt;
5 };
6
7 struct sigframe {
8         /*
9          * Place signal handler args where user-level unwinder can find them easily.
10          * DO NOT MOVE THESE.  They are part of the IA-64 Linux ABI and there is
11          * user-level code that depends on their presence!
12          */
13         unsigned long arg0;             /* signum */
14         unsigned long arg1;             /* siginfo pointer */
15         unsigned long arg2;             /* sigcontext pointer */
16         /*
17          * End of architected state.
18          */
19
20         void __user *handler;           /* pointer to the plabel of the signal handler */
21         struct siginfo info;
22         struct sigcontext sc;
23 };
24
25 extern void ia64_do_signal (struct sigscratch *, long);