| 
									
										
										
										
											2008-10-22 22:26:29 -07:00
										 |  |  | #ifndef _ASM_X86_IA32_H
 | 
					
						
							|  |  |  | #define _ASM_X86_IA32_H
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_IA32_EMULATION
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/compat.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * 32 bit structures for IA32 support. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <asm/sigcontext32.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* signal.h */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct ucontext_ia32 { | 
					
						
							|  |  |  | 	unsigned int	  uc_flags; | 
					
						
							|  |  |  | 	unsigned int 	  uc_link; | 
					
						
							| 
									
										
										
										
											2012-12-14 14:47:53 -05:00
										 |  |  | 	compat_stack_t	  uc_stack; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	struct sigcontext_ia32 uc_mcontext; | 
					
						
							|  |  |  | 	compat_sigset_t	  uc_sigmask;	/* mask last for extensibility */ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-19 07:46:08 -08:00
										 |  |  | struct ucontext_x32 { | 
					
						
							|  |  |  | 	unsigned int	  uc_flags; | 
					
						
							|  |  |  | 	unsigned int 	  uc_link; | 
					
						
							| 
									
										
										
										
											2012-12-14 14:47:53 -05:00
										 |  |  | 	compat_stack_t	  uc_stack; | 
					
						
							| 
									
										
										
										
											2012-02-19 07:46:08 -08:00
										 |  |  | 	unsigned int	  uc__pad0;     /* needed for alignment */ | 
					
						
							|  |  |  | 	struct sigcontext uc_mcontext;  /* the 64-bit sigcontext type */ | 
					
						
							|  |  |  | 	compat_sigset_t	  uc_sigmask;	/* mask last for extensibility */ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /* This matches struct stat64 in glibc2.2, hence the absolutely
 | 
					
						
							|  |  |  |  * insane amounts of padding around dev_t's. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | struct stat64 { | 
					
						
							|  |  |  | 	unsigned long long	st_dev; | 
					
						
							|  |  |  | 	unsigned char		__pad0[4]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define STAT64_HAS_BROKEN_ST_INO	1
 | 
					
						
							|  |  |  | 	unsigned int		__st_ino; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	unsigned int		st_mode; | 
					
						
							|  |  |  | 	unsigned int		st_nlink; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	unsigned int		st_uid; | 
					
						
							|  |  |  | 	unsigned int		st_gid; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	unsigned long long	st_rdev; | 
					
						
							|  |  |  | 	unsigned char		__pad3[4]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	long long		st_size; | 
					
						
							|  |  |  | 	unsigned int		st_blksize; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-03-23 01:02:20 -07:00
										 |  |  | 	long long		st_blocks;/* Number 512-byte blocks allocated */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	unsigned 		st_atime; | 
					
						
							|  |  |  | 	unsigned 		st_atime_nsec; | 
					
						
							|  |  |  | 	unsigned 		st_mtime; | 
					
						
							|  |  |  | 	unsigned 		st_mtime_nsec; | 
					
						
							|  |  |  | 	unsigned 		st_ctime; | 
					
						
							|  |  |  | 	unsigned 		st_ctime_nsec; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	unsigned long long	st_ino; | 
					
						
							|  |  |  | } __attribute__((packed)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define IA32_STACK_TOP IA32_PAGE_OFFSET
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef __KERNEL__
 | 
					
						
							| 
									
										
										
										
											2005-11-05 17:25:54 +01:00
										 |  |  | struct linux_binprm; | 
					
						
							|  |  |  | extern int ia32_setup_arg_pages(struct linux_binprm *bprm, | 
					
						
							|  |  |  | 				unsigned long stack_top, int exec_stack); | 
					
						
							| 
									
										
										
										
											2006-01-17 07:03:38 +01:00
										 |  |  | struct mm_struct; | 
					
						
							|  |  |  | extern void ia32_pick_mmap_layout(struct mm_struct *mm); | 
					
						
							| 
									
										
										
										
											2005-11-05 17:25:54 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* !CONFIG_IA32_SUPPORT */
 | 
					
						
							| 
									
										
										
										
											2008-03-23 01:02:20 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-22 22:26:29 -07:00
										 |  |  | #endif /* _ASM_X86_IA32_H */
 |