Blame view
include/asm-x86/ia32.h
3.51 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 |
#ifndef _ASM_X86_64_IA32_H #define _ASM_X86_64_IA32_H |
1da177e4c Linux-2.6.12-rc2 |
3 4 5 6 7 8 9 10 11 12 13 14 15 |
#ifdef CONFIG_IA32_EMULATION #include <linux/compat.h> /* * 32 bit structures for IA32 support. */ #include <asm/sigcontext32.h> /* signal.h */ struct sigaction32 { |
9bd734251 include/asm-x86/i... |
16 17 18 19 20 |
unsigned int sa_handler; /* Really a pointer, but need to deal with 32 bits */ unsigned int sa_flags; unsigned int sa_restorer; /* Another 32 bit pointer */ compat_sigset_t sa_mask; /* A 32 bit mask */ |
1da177e4c Linux-2.6.12-rc2 |
21 22 23 |
}; struct old_sigaction32 { |
9bd734251 include/asm-x86/i... |
24 25 26 27 28 |
unsigned int sa_handler; /* Really a pointer, but need to deal with 32 bits */ compat_old_sigset_t sa_mask; /* A 32 bit mask */ unsigned int sa_flags; unsigned int sa_restorer; /* Another 32 bit pointer */ |
1da177e4c Linux-2.6.12-rc2 |
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
}; typedef struct sigaltstack_ia32 { unsigned int ss_sp; int ss_flags; unsigned int ss_size; } stack_ia32_t; struct ucontext_ia32 { unsigned int uc_flags; unsigned int uc_link; stack_ia32_t uc_stack; struct sigcontext_ia32 uc_mcontext; compat_sigset_t uc_sigmask; /* mask last for extensibility */ }; /* 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; |
9bd734251 include/asm-x86/i... |
66 |
long long st_blocks;/* Number 512-byte blocks allocated */ |
1da177e4c Linux-2.6.12-rc2 |
67 68 69 70 71 72 73 74 75 76 |
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)); |
9bd734251 include/asm-x86/i... |
77 |
typedef struct compat_siginfo { |
1da177e4c Linux-2.6.12-rc2 |
78 79 80 81 82 |
int si_signo; int si_errno; int si_code; union { |
9bd734251 include/asm-x86/i... |
83 |
int _pad[((128 / sizeof(int)) - 3)]; |
1da177e4c Linux-2.6.12-rc2 |
84 85 86 87 88 89 90 91 92 |
/* kill() */ struct { unsigned int _pid; /* sender's pid */ unsigned int _uid; /* sender's uid */ } _kill; /* POSIX.1b timers */ struct { |
0d77e5a2c [PATCH] compat: i... |
93 |
compat_timer_t _tid; /* timer id */ |
1da177e4c Linux-2.6.12-rc2 |
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
int _overrun; /* overrun count */ compat_sigval_t _sigval; /* same as below */ int _sys_private; /* not to be passed to user */ int _overrun_incr; /* amount to add to overrun */ } _timer; /* POSIX.1b signals */ struct { unsigned int _pid; /* sender's pid */ unsigned int _uid; /* sender's uid */ compat_sigval_t _sigval; } _rt; /* SIGCHLD */ struct { unsigned int _pid; /* which child */ unsigned int _uid; /* sender's uid */ int _status; /* exit code */ compat_clock_t _utime; compat_clock_t _stime; } _sigchld; /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ struct { unsigned int _addr; /* faulting insn/memory ref. */ } _sigfault; /* SIGPOLL */ struct { int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ int _fd; } _sigpoll; } _sifields; } compat_siginfo_t; |
9bd734251 include/asm-x86/i... |
128 129 130 131 132 133 |
struct sigframe32 { u32 pretcode; int sig; struct sigcontext_ia32 sc; struct _fpstate_ia32 fpstate; unsigned int extramask[_COMPAT_NSIG_WORDS-1]; |
1da177e4c Linux-2.6.12-rc2 |
134 |
}; |
9bd734251 include/asm-x86/i... |
135 136 137 138 139 140 141 142 |
struct rt_sigframe32 { u32 pretcode; int sig; u32 pinfo; u32 puc; compat_siginfo_t info; struct ucontext_ia32 uc; struct _fpstate_ia32 fpstate; |
1da177e4c Linux-2.6.12-rc2 |
143 144 145 |
}; struct ustat32 { |
9bd734251 include/asm-x86/i... |
146 |
__u32 f_tfree; |
1da177e4c Linux-2.6.12-rc2 |
147 148 149 150 151 152 153 154 |
compat_ino_t f_tinode; char f_fname[6]; char f_fpack[6]; }; #define IA32_STACK_TOP IA32_PAGE_OFFSET #ifdef __KERNEL__ |
ea0be473a [PATCH] x86_64: A... |
155 156 157 |
struct linux_binprm; extern int ia32_setup_arg_pages(struct linux_binprm *bprm, unsigned long stack_top, int exec_stack); |
8817210d4 [PATCH] x86_64: F... |
158 159 |
struct mm_struct; extern void ia32_pick_mmap_layout(struct mm_struct *mm); |
ea0be473a [PATCH] x86_64: A... |
160 |
|
1da177e4c Linux-2.6.12-rc2 |
161 162 163 |
#endif #endif /* !CONFIG_IA32_SUPPORT */ |
9bd734251 include/asm-x86/i... |
164 165 |
#endif |