| 
									
										
										
										
											2008-10-22 22:26:29 -07:00
										 |  |  | #ifndef _ASM_X86_SIGCONTEXT_H
 | 
					
						
							|  |  |  | #define _ASM_X86_SIGCONTEXT_H
 | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-14 22:37:13 +00:00
										 |  |  | #include <uapi/asm/sigcontext.h>
 | 
					
						
							| 
									
										
										
										
											2008-07-29 10:29:24 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | #ifdef __i386__
 | 
					
						
							|  |  |  | struct sigcontext { | 
					
						
							|  |  |  | 	unsigned short gs, __gsh; | 
					
						
							|  |  |  | 	unsigned short fs, __fsh; | 
					
						
							|  |  |  | 	unsigned short es, __esh; | 
					
						
							|  |  |  | 	unsigned short ds, __dsh; | 
					
						
							| 
									
										
										
										
											2008-01-30 13:30:56 +01:00
										 |  |  | 	unsigned long di; | 
					
						
							|  |  |  | 	unsigned long si; | 
					
						
							|  |  |  | 	unsigned long bp; | 
					
						
							|  |  |  | 	unsigned long sp; | 
					
						
							|  |  |  | 	unsigned long bx; | 
					
						
							|  |  |  | 	unsigned long dx; | 
					
						
							|  |  |  | 	unsigned long cx; | 
					
						
							|  |  |  | 	unsigned long ax; | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 	unsigned long trapno; | 
					
						
							|  |  |  | 	unsigned long err; | 
					
						
							| 
									
										
										
										
											2008-01-30 13:30:56 +01:00
										 |  |  | 	unsigned long ip; | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 	unsigned short cs, __csh; | 
					
						
							| 
									
										
										
										
											2008-01-30 13:30:56 +01:00
										 |  |  | 	unsigned long flags; | 
					
						
							|  |  |  | 	unsigned long sp_at_signal; | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 	unsigned short ss, __ssh; | 
					
						
							| 
									
										
										
										
											2008-07-29 10:29:24 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/*
 | 
					
						
							|  |  |  | 	 * fpstate is really (struct _fpstate *) or (struct _xstate *) | 
					
						
							|  |  |  | 	 * depending on the FP_XSTATE_MAGIC1 encoded in the SW reserved | 
					
						
							|  |  |  | 	 * bytes of (struct _fpstate) and FP_XSTATE_MAGIC2 present at the end | 
					
						
							| 
									
										
										
										
											2009-12-04 15:47:01 -05:00
										 |  |  | 	 * of extended memory layout. See comments at the definition of | 
					
						
							| 
									
										
										
										
											2008-07-29 10:29:24 -07:00
										 |  |  | 	 * (struct _fpx_sw_bytes) | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	void __user *fpstate;		/* zero when no FPU/extended context */ | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 	unsigned long oldmask; | 
					
						
							|  |  |  | 	unsigned long cr2; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | #else /* __i386__ */
 | 
					
						
							|  |  |  | struct sigcontext { | 
					
						
							|  |  |  | 	unsigned long r8; | 
					
						
							|  |  |  | 	unsigned long r9; | 
					
						
							|  |  |  | 	unsigned long r10; | 
					
						
							|  |  |  | 	unsigned long r11; | 
					
						
							|  |  |  | 	unsigned long r12; | 
					
						
							|  |  |  | 	unsigned long r13; | 
					
						
							|  |  |  | 	unsigned long r14; | 
					
						
							|  |  |  | 	unsigned long r15; | 
					
						
							| 
									
										
										
										
											2008-01-30 13:30:56 +01:00
										 |  |  | 	unsigned long di; | 
					
						
							|  |  |  | 	unsigned long si; | 
					
						
							|  |  |  | 	unsigned long bp; | 
					
						
							|  |  |  | 	unsigned long bx; | 
					
						
							|  |  |  | 	unsigned long dx; | 
					
						
							|  |  |  | 	unsigned long ax; | 
					
						
							|  |  |  | 	unsigned long cx; | 
					
						
							|  |  |  | 	unsigned long sp; | 
					
						
							|  |  |  | 	unsigned long ip; | 
					
						
							|  |  |  | 	unsigned long flags; | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 	unsigned short cs; | 
					
						
							|  |  |  | 	unsigned short gs; | 
					
						
							|  |  |  | 	unsigned short fs; | 
					
						
							|  |  |  | 	unsigned short __pad0; | 
					
						
							|  |  |  | 	unsigned long err; | 
					
						
							|  |  |  | 	unsigned long trapno; | 
					
						
							|  |  |  | 	unsigned long oldmask; | 
					
						
							|  |  |  | 	unsigned long cr2; | 
					
						
							| 
									
										
										
										
											2008-07-29 10:29:24 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/*
 | 
					
						
							|  |  |  | 	 * fpstate is really (struct _fpstate *) or (struct _xstate *) | 
					
						
							|  |  |  | 	 * depending on the FP_XSTATE_MAGIC1 encoded in the SW reserved | 
					
						
							|  |  |  | 	 * bytes of (struct _fpstate) and FP_XSTATE_MAGIC2 present at the end | 
					
						
							| 
									
										
										
										
											2009-12-04 15:47:01 -05:00
										 |  |  | 	 * of extended memory layout. See comments at the definition of | 
					
						
							| 
									
										
										
										
											2008-07-29 10:29:24 -07:00
										 |  |  | 	 * (struct _fpx_sw_bytes) | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	void __user *fpstate;		/* zero when no FPU/extended context */ | 
					
						
							| 
									
										
										
										
											2007-10-23 22:37:24 +02:00
										 |  |  | 	unsigned long reserved1[8]; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | #endif /* !__i386__ */
 | 
					
						
							| 
									
										
										
										
											2008-10-22 22:26:29 -07:00
										 |  |  | #endif /* _ASM_X86_SIGCONTEXT_H */
 |