linux.cc (11382:654272b82e94) linux.cc (11383:5ac090acd180)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 23 unchanged lines hidden (view full) ---

32 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 *
37 * Authors: Gabe Black
38 */
39
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 23 unchanged lines hidden (view full) ---

32 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 *
37 * Authors: Gabe Black
38 */
39
40#include <fcntl.h>
41
42#include "arch/x86/linux/linux.hh"
43
40#include "arch/x86/linux/linux.hh"
41
42#include <fcntl.h>
43#include <sys/mman.h>
44
44// open(2) flags translation table
45SyscallFlagTransTable X86Linux64::openFlagTable[] = {
46#ifdef _MSC_VER
47 { X86Linux64::TGT_O_RDONLY, _O_RDONLY },
48 { X86Linux64::TGT_O_WRONLY, _O_WRONLY },
49 { X86Linux64::TGT_O_RDWR, _O_RDWR },
50 { X86Linux64::TGT_O_CREAT, _O_CREAT },
51 { X86Linux64::TGT_O_EXCL, _O_EXCL },

--- 53 unchanged lines hidden (view full) ---

105#endif
106#endif /* _MSC_VER */
107};
108
109const int X86Linux64::NUM_OPEN_FLAGS =
110 sizeof(X86Linux64::openFlagTable) /
111 sizeof(X86Linux64::openFlagTable[0]);
112
45// open(2) flags translation table
46SyscallFlagTransTable X86Linux64::openFlagTable[] = {
47#ifdef _MSC_VER
48 { X86Linux64::TGT_O_RDONLY, _O_RDONLY },
49 { X86Linux64::TGT_O_WRONLY, _O_WRONLY },
50 { X86Linux64::TGT_O_RDWR, _O_RDWR },
51 { X86Linux64::TGT_O_CREAT, _O_CREAT },
52 { X86Linux64::TGT_O_EXCL, _O_EXCL },

--- 53 unchanged lines hidden (view full) ---

106#endif
107#endif /* _MSC_VER */
108};
109
110const int X86Linux64::NUM_OPEN_FLAGS =
111 sizeof(X86Linux64::openFlagTable) /
112 sizeof(X86Linux64::openFlagTable[0]);
113
114// mmap(2) flags translation table
115SyscallFlagTransTable X86Linux64::mmapFlagTable[] = {
116 { X86Linux64::TGT_MAP_SHARED, MAP_SHARED },
117 { X86Linux64::TGT_MAP_PRIVATE, MAP_PRIVATE },
118 { X86Linux64::TGT_MAP_32BIT, MAP_32BIT},
119 { X86Linux64::TGT_MAP_ANON, MAP_ANON },
120 { X86Linux64::TGT_MAP_DENYWRITE, MAP_DENYWRITE },
121 { X86Linux64::TGT_MAP_EXECUTABLE, MAP_EXECUTABLE },
122 { X86Linux64::TGT_MAP_FILE, MAP_FILE },
123 { X86Linux64::TGT_MAP_GROWSDOWN, MAP_GROWSDOWN },
124#ifdef MAP_HUGETLB
125 { X86Linux64::TGT_MAP_HUGETLB, MAP_HUGETLB },
126#endif
127 { X86Linux64::TGT_MAP_LOCKED, MAP_LOCKED },
128 { X86Linux64::TGT_MAP_NONBLOCK, MAP_NONBLOCK },
129 { X86Linux64::TGT_MAP_NORESERVE, MAP_NORESERVE },
130 { X86Linux64::TGT_MAP_POPULATE, MAP_POPULATE },
131#ifdef MAP_STACK
132 { X86Linux64::TGT_MAP_STACK, MAP_STACK },
133#endif
134 { X86Linux64::TGT_MAP_ANONYMOUS, MAP_ANONYMOUS },
135 { X86Linux64::TGT_MAP_FIXED, MAP_FIXED },
136};
137
138const unsigned X86Linux64::NUM_MMAP_FLAGS =
139 sizeof(X86Linux64::mmapFlagTable) /
140 sizeof(X86Linux64::mmapFlagTable[0]);
141
113// open(2) flags translation table
114SyscallFlagTransTable X86Linux32::openFlagTable[] = {
115#ifdef _MSC_VER
116 { X86Linux32::TGT_O_RDONLY, _O_RDONLY },
117 { X86Linux32::TGT_O_WRONLY, _O_WRONLY },
118 { X86Linux32::TGT_O_RDWR, _O_RDWR },
119 { X86Linux32::TGT_O_CREAT, _O_CREAT },
120 { X86Linux32::TGT_O_EXCL, _O_EXCL },

--- 53 unchanged lines hidden (view full) ---

174#endif
175#endif /* _MSC_VER */
176};
177
178const int X86Linux32::NUM_OPEN_FLAGS =
179 sizeof(X86Linux32::openFlagTable) /
180 sizeof(X86Linux32::openFlagTable[0]);
181
142// open(2) flags translation table
143SyscallFlagTransTable X86Linux32::openFlagTable[] = {
144#ifdef _MSC_VER
145 { X86Linux32::TGT_O_RDONLY, _O_RDONLY },
146 { X86Linux32::TGT_O_WRONLY, _O_WRONLY },
147 { X86Linux32::TGT_O_RDWR, _O_RDWR },
148 { X86Linux32::TGT_O_CREAT, _O_CREAT },
149 { X86Linux32::TGT_O_EXCL, _O_EXCL },

--- 53 unchanged lines hidden (view full) ---

203#endif
204#endif /* _MSC_VER */
205};
206
207const int X86Linux32::NUM_OPEN_FLAGS =
208 sizeof(X86Linux32::openFlagTable) /
209 sizeof(X86Linux32::openFlagTable[0]);
210
211// mmap(2) flags translation table
212SyscallFlagTransTable X86Linux32::mmapFlagTable[] = {
213 { X86Linux32::TGT_MAP_SHARED, MAP_SHARED },
214 { X86Linux32::TGT_MAP_PRIVATE, MAP_PRIVATE },
215 { X86Linux32::TGT_MAP_32BIT, MAP_32BIT},
216 { X86Linux32::TGT_MAP_ANON, MAP_ANON },
217 { X86Linux32::TGT_MAP_DENYWRITE, MAP_DENYWRITE },
218 { X86Linux32::TGT_MAP_EXECUTABLE, MAP_EXECUTABLE },
219 { X86Linux32::TGT_MAP_FILE, MAP_FILE },
220 { X86Linux32::TGT_MAP_GROWSDOWN, MAP_GROWSDOWN },
221#ifdef MAP_HUGETLB
222 { X86Linux32::TGT_MAP_HUGETLB, MAP_HUGETLB },
223#endif
224 { X86Linux32::TGT_MAP_LOCKED, MAP_LOCKED },
225 { X86Linux32::TGT_MAP_NONBLOCK, MAP_NONBLOCK },
226 { X86Linux32::TGT_MAP_NORESERVE, MAP_NORESERVE },
227 { X86Linux32::TGT_MAP_POPULATE, MAP_POPULATE },
228#ifdef MAP_STACK
229 { X86Linux32::TGT_MAP_STACK, MAP_STACK },
230#endif
231 { X86Linux32::TGT_MAP_ANONYMOUS, MAP_ANONYMOUS },
232 { X86Linux32::TGT_MAP_FIXED, MAP_FIXED },
233};
234
235const unsigned X86Linux32::NUM_MMAP_FLAGS =
236 sizeof(X86Linux32::mmapFlagTable) /
237 sizeof(X86Linux32::mmapFlagTable[0]);