| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Alexey Dobriyan | 4a177cb | 2007-01-23 19:03:17 +0300 | [diff] [blame] | 25 | extern void ia64_do_signal (struct sigscratch *, long); |