linux.cc (11381:516213d2f0cf) linux.cc (11382:654272b82e94)
1/*
2 * Copyright (c) 2011 ARM Limited
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

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

46#include "arch/arm/linux/linux.hh"
47
48// open(2) flags translation table
49SyscallFlagTransTable ArmLinux32::openFlagTable[] = {
50#ifdef _MSC_VER
51 { ArmLinux32::TGT_O_RDONLY, _O_RDONLY },
52 { ArmLinux32::TGT_O_WRONLY, _O_WRONLY },
53 { ArmLinux32::TGT_O_RDWR, _O_RDWR },
1/*
2 * Copyright (c) 2011 ARM Limited
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

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

46#include "arch/arm/linux/linux.hh"
47
48// open(2) flags translation table
49SyscallFlagTransTable ArmLinux32::openFlagTable[] = {
50#ifdef _MSC_VER
51 { ArmLinux32::TGT_O_RDONLY, _O_RDONLY },
52 { ArmLinux32::TGT_O_WRONLY, _O_WRONLY },
53 { ArmLinux32::TGT_O_RDWR, _O_RDWR },
54 { ArmLinux32::TGT_O_APPEND, _O_APPEND },
55 { ArmLinux32::TGT_O_CREAT, _O_CREAT },
54 { ArmLinux32::TGT_O_CREAT, _O_CREAT },
56 { ArmLinux32::TGT_O_TRUNC, _O_TRUNC },
57 { ArmLinux32::TGT_O_EXCL, _O_EXCL },
55 { ArmLinux32::TGT_O_EXCL, _O_EXCL },
56#ifdef _O_NOCTTY
57 { ArmLinux32::TGT_O_NOCTTY, _O_NOCTTY },
58#endif
59 { ArmLinux32::TGT_O_TRUNC, _O_TRUNC },
60 { ArmLinux32::TGT_O_APPEND, _O_APPEND },
58#ifdef _O_NONBLOCK
59 { ArmLinux32::TGT_O_NONBLOCK, _O_NONBLOCK },
60#endif
61#ifdef _O_NONBLOCK
62 { ArmLinux32::TGT_O_NONBLOCK, _O_NONBLOCK },
63#endif
61#ifdef _O_NOCTTY
62 { ArmLinux32::TGT_O_NOCTTY, _O_NOCTTY },
64#ifdef _O_DSYNC
65 { ArmLinux32::TGT_O_DSYNC, _O_DSYNC },
63#endif
66#endif
67 { ArmLinux32::TGT_FASYNC, _O_ASYNC },
68 { ArmLinux32::TGT_O_DIRECT, _O_DIRECT },
69 { ArmLinux32::TGT_O_LARGEFILE, _O_LARGEFILE },
70 { ArmLinux32::TGT_O_DIRECTORY, _O_DIRECTORY },
71 { ArmLinux32::TGT_O_NOFOLLOW, _O_NOFOLLOW },
72 { ArmLinux32::TGT_O_NOATIME, _O_NOATIME },
73#ifdef _O_CLOEXEC
74 { ArmLinux32::TGT_O_CLOEXEC, _O_CLOEXEC },
75#endif
64#ifdef _O_SYNC
65 { ArmLinux32::TGT_O_SYNC, _O_SYNC },
66#endif
76#ifdef _O_SYNC
77 { ArmLinux32::TGT_O_SYNC, _O_SYNC },
78#endif
79#ifdef _O_PATH
80 { ArmLinux32::TGT_O_PATH, _O_PATH },
81#endif
67#else /* !_MSC_VER */
68 { ArmLinux32::TGT_O_RDONLY, O_RDONLY },
69 { ArmLinux32::TGT_O_WRONLY, O_WRONLY },
70 { ArmLinux32::TGT_O_RDWR, O_RDWR },
71 { ArmLinux32::TGT_O_CREAT, O_CREAT },
72 { ArmLinux32::TGT_O_EXCL, O_EXCL },
73 { ArmLinux32::TGT_O_NOCTTY, O_NOCTTY },
74 { ArmLinux32::TGT_O_TRUNC, O_TRUNC },
75 { ArmLinux32::TGT_O_APPEND, O_APPEND },
76 { ArmLinux32::TGT_O_NONBLOCK, O_NONBLOCK },
82#else /* !_MSC_VER */
83 { ArmLinux32::TGT_O_RDONLY, O_RDONLY },
84 { ArmLinux32::TGT_O_WRONLY, O_WRONLY },
85 { ArmLinux32::TGT_O_RDWR, O_RDWR },
86 { ArmLinux32::TGT_O_CREAT, O_CREAT },
87 { ArmLinux32::TGT_O_EXCL, O_EXCL },
88 { ArmLinux32::TGT_O_NOCTTY, O_NOCTTY },
89 { ArmLinux32::TGT_O_TRUNC, O_TRUNC },
90 { ArmLinux32::TGT_O_APPEND, O_APPEND },
91 { ArmLinux32::TGT_O_NONBLOCK, O_NONBLOCK },
77#ifdef O_SYNC
78 { ArmLinux32::TGT_O_SYNC, O_SYNC },
92#ifdef O_DSYNC
93 { ArmLinux32::TGT_O_DSYNC, O_DSYNC },
79#endif
94#endif
80#ifdef FASYNC
81 { ArmLinux32::TGT_FASYNC, FASYNC },
82#endif
95 { ArmLinux32::TGT_FASYNC, O_ASYNC },
83#ifdef O_DIRECT
84 { ArmLinux32::TGT_O_DIRECT, O_DIRECT },
85#endif
86#ifdef O_LARGEFILE
87 { ArmLinux32::TGT_O_LARGEFILE, O_LARGEFILE },
88#endif
89#ifdef O_DIRECTORY
90 { ArmLinux32::TGT_O_DIRECTORY, O_DIRECTORY },
91#endif
92#ifdef O_NOFOLLOW
93 { ArmLinux32::TGT_O_NOFOLLOW, O_NOFOLLOW },
94#endif
96#ifdef O_DIRECT
97 { ArmLinux32::TGT_O_DIRECT, O_DIRECT },
98#endif
99#ifdef O_LARGEFILE
100 { ArmLinux32::TGT_O_LARGEFILE, O_LARGEFILE },
101#endif
102#ifdef O_DIRECTORY
103 { ArmLinux32::TGT_O_DIRECTORY, O_DIRECTORY },
104#endif
105#ifdef O_NOFOLLOW
106 { ArmLinux32::TGT_O_NOFOLLOW, O_NOFOLLOW },
107#endif
108 { ArmLinux32::TGT_O_NOATIME, O_NOATIME },
109#ifdef O_CLOEXEC
110 { ArmLinux32::TGT_O_CLOEXEC, O_CLOEXEC },
111#endif
112#ifdef O_SYNC
113 { ArmLinux32::TGT_O_SYNC, O_SYNC },
114#endif
115#ifdef O_PATH
116 { ArmLinux32::TGT_O_PATH, O_PATH },
117#endif
95#endif /* _MSC_VER */
96};
97
98const int ArmLinux32::NUM_OPEN_FLAGS = sizeof(ArmLinux32::openFlagTable) /
99 sizeof(ArmLinux32::openFlagTable[0]);
100
101// open(2) flags translation table
102SyscallFlagTransTable ArmLinux64::openFlagTable[] = {
103#ifdef _MSC_VER
104 { ArmLinux64::TGT_O_RDONLY, _O_RDONLY },
105 { ArmLinux64::TGT_O_WRONLY, _O_WRONLY },
106 { ArmLinux64::TGT_O_RDWR, _O_RDWR },
118#endif /* _MSC_VER */
119};
120
121const int ArmLinux32::NUM_OPEN_FLAGS = sizeof(ArmLinux32::openFlagTable) /
122 sizeof(ArmLinux32::openFlagTable[0]);
123
124// open(2) flags translation table
125SyscallFlagTransTable ArmLinux64::openFlagTable[] = {
126#ifdef _MSC_VER
127 { ArmLinux64::TGT_O_RDONLY, _O_RDONLY },
128 { ArmLinux64::TGT_O_WRONLY, _O_WRONLY },
129 { ArmLinux64::TGT_O_RDWR, _O_RDWR },
107 { ArmLinux64::TGT_O_APPEND, _O_APPEND },
108 { ArmLinux64::TGT_O_CREAT, _O_CREAT },
130 { ArmLinux64::TGT_O_CREAT, _O_CREAT },
109 { ArmLinux64::TGT_O_TRUNC, _O_TRUNC },
110 { ArmLinux64::TGT_O_EXCL, _O_EXCL },
131 { ArmLinux64::TGT_O_EXCL, _O_EXCL },
132#ifdef _O_NOCTTY
133 { ArmLinux64::TGT_O_NOCTTY, _O_NOCTTY },
134#endif
135 { ArmLinux64::TGT_O_TRUNC, _O_TRUNC },
136 { ArmLinux64::TGT_O_APPEND, _O_APPEND },
111#ifdef _O_NONBLOCK
112 { ArmLinux64::TGT_O_NONBLOCK, _O_NONBLOCK },
113#endif
137#ifdef _O_NONBLOCK
138 { ArmLinux64::TGT_O_NONBLOCK, _O_NONBLOCK },
139#endif
114#ifdef _O_NOCTTY
115 { ArmLinux64::TGT_O_NOCTTY, _O_NOCTTY },
140#ifdef _O_DSYNC
141 { ArmLinux64::TGT_O_DSYNC, _O_DSYNC },
116#endif
142#endif
143 { ArmLinux64::TGT_FASYNC, _O_ASYNC },
144 { ArmLinux64::TGT_O_DIRECT, _O_DIRECT },
145 { ArmLinux64::TGT_O_LARGEFILE, _O_LARGEFILE },
146 { ArmLinux64::TGT_O_DIRECTORY, _O_DIRECTORY },
147 { ArmLinux64::TGT_O_NOFOLLOW, _O_NOFOLLOW },
148 { ArmLinux64::TGT_O_NOATIME, _O_NOATIME },
149#ifdef _O_CLOEXEC
150 { ArmLinux64::TGT_O_CLOEXEC, _O_CLOEXEC },
151#endif
117#ifdef _O_SYNC
118 { ArmLinux64::TGT_O_SYNC, _O_SYNC },
119#endif
152#ifdef _O_SYNC
153 { ArmLinux64::TGT_O_SYNC, _O_SYNC },
154#endif
155#ifdef _O_PATH
156 { ArmLinux64::TGT_O_PATH, _O_PATH },
157#endif
120#else /* !_MSC_VER */
121 { ArmLinux64::TGT_O_RDONLY, O_RDONLY },
122 { ArmLinux64::TGT_O_WRONLY, O_WRONLY },
123 { ArmLinux64::TGT_O_RDWR, O_RDWR },
124 { ArmLinux64::TGT_O_CREAT, O_CREAT },
125 { ArmLinux64::TGT_O_EXCL, O_EXCL },
126 { ArmLinux64::TGT_O_NOCTTY, O_NOCTTY },
127 { ArmLinux64::TGT_O_TRUNC, O_TRUNC },
128 { ArmLinux64::TGT_O_APPEND, O_APPEND },
129 { ArmLinux64::TGT_O_NONBLOCK, O_NONBLOCK },
158#else /* !_MSC_VER */
159 { ArmLinux64::TGT_O_RDONLY, O_RDONLY },
160 { ArmLinux64::TGT_O_WRONLY, O_WRONLY },
161 { ArmLinux64::TGT_O_RDWR, O_RDWR },
162 { ArmLinux64::TGT_O_CREAT, O_CREAT },
163 { ArmLinux64::TGT_O_EXCL, O_EXCL },
164 { ArmLinux64::TGT_O_NOCTTY, O_NOCTTY },
165 { ArmLinux64::TGT_O_TRUNC, O_TRUNC },
166 { ArmLinux64::TGT_O_APPEND, O_APPEND },
167 { ArmLinux64::TGT_O_NONBLOCK, O_NONBLOCK },
130#ifdef O_SYNC
131 { ArmLinux64::TGT_O_SYNC, O_SYNC },
132#endif
168 { ArmLinux64::TGT_O_DSYNC, O_DSYNC },
133#ifdef FASYNC
169#ifdef FASYNC
134 { ArmLinux64::TGT_FASYNC, FASYNC },
170 { ArmLinux64::TGT_FASYNC, O_ASYNC },
135#endif
136#ifdef O_DIRECT
137 { ArmLinux64::TGT_O_DIRECT, O_DIRECT },
138#endif
139#ifdef O_LARGEFILE
140 { ArmLinux64::TGT_O_LARGEFILE, O_LARGEFILE },
141#endif
142#ifdef O_DIRECTORY
143 { ArmLinux64::TGT_O_DIRECTORY, O_DIRECTORY },
144#endif
145#ifdef O_NOFOLLOW
146 { ArmLinux64::TGT_O_NOFOLLOW, O_NOFOLLOW },
147#endif
171#endif
172#ifdef O_DIRECT
173 { ArmLinux64::TGT_O_DIRECT, O_DIRECT },
174#endif
175#ifdef O_LARGEFILE
176 { ArmLinux64::TGT_O_LARGEFILE, O_LARGEFILE },
177#endif
178#ifdef O_DIRECTORY
179 { ArmLinux64::TGT_O_DIRECTORY, O_DIRECTORY },
180#endif
181#ifdef O_NOFOLLOW
182 { ArmLinux64::TGT_O_NOFOLLOW, O_NOFOLLOW },
183#endif
184 { ArmLinux64::TGT_O_NOATIME, O_NOATIME },
185#ifdef O_CLOEXEC
186 { ArmLinux64::TGT_O_CLOEXEC, O_CLOEXEC },
187#endif
188#ifdef O_SYNC
189 { ArmLinux64::TGT_O_SYNC, O_SYNC },
190#endif
191#ifdef O_PATH
192 { ArmLinux64::TGT_O_PATH, O_PATH },
193#endif
148#endif /* _MSC_VER */
149};
150
151const int ArmLinux64::NUM_OPEN_FLAGS = sizeof(ArmLinux64::openFlagTable) /
152 sizeof(ArmLinux64::openFlagTable[0]);
153
194#endif /* _MSC_VER */
195};
196
197const int ArmLinux64::NUM_OPEN_FLAGS = sizeof(ArmLinux64::openFlagTable) /
198 sizeof(ArmLinux64::openFlagTable[0]);
199