gem5 v23.0.0.1
Loading...
Searching...
No Matches
linux.hh
Go to the documentation of this file.
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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated
11 * unmodified and in its entirety in all distributions of the software,
12 * modified or unmodified, in source code or in binary form.
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions are
16 * met: redistributions of source code must retain the above copyright
17 * notice, this list of conditions and the following disclaimer;
18 * redistributions in binary form must reproduce the above copyright
19 * notice, this list of conditions and the following disclaimer in the
20 * documentation and/or other materials provided with the distribution;
21 * neither the name of the copyright holders nor the names of its
22 * contributors may be used to endorse or promote products derived from
23 * this software without specific prior written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
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
38#ifndef __ARCH_X86_LINUX_LINUX_HH__
39#define __ARCH_X86_LINUX_LINUX_HH__
40
41#include <map>
42
43#include "arch/x86/regs/int.hh"
44#include "arch/x86/regs/misc.hh"
45#include "arch/x86/utility.hh"
46#include "base/compiler.hh"
48#include "kern/linux/linux.hh"
49#include "sim/guest_abi.hh"
50#include "sim/syscall_return.hh"
51
52namespace gem5
53{
54
55class X86Linux : public Linux
56{
57 public:
58 static const ByteOrder byteOrder = ByteOrder::little;
59
60 static void
61 archClone(uint64_t flags,
62 Process *pp, Process *cp,
64 uint64_t stack, uint64_t tls)
65 {
66 ctc->getIsaPtr()->copyRegsFrom(ptc);
67
68 if (flags & TGT_CLONE_SETTLS) {
71 }
72
73 if (stack)
75 }
76
77 class SyscallABI {};
78};
79
80namespace guest_abi
81{
82
83template <typename ABI>
85 typename std::enable_if_t<std::is_base_of_v<X86Linux::SyscallABI, ABI>>>
86{
87 static void
89 {
91 }
92};
93
94} // namespace guest_abi
95
96class X86Linux64 : public X86Linux, public OpenFlagTable<X86Linux64>
97{
98 public:
99
101 {
102 uint64_t st_dev;
103 uint64_t st_ino;
104 uint64_t st_nlink;
105 uint32_t st_mode;
106 uint32_t st_uid;
107 uint32_t st_gid;
108 uint32_t __pad0;
109 uint64_t st_rdev;
110 int64_t st_size;
111 int64_t st_blksize;
112 int64_t st_blocks;
113 uint64_t st_atimeX;
115 uint64_t st_mtimeX;
117 uint64_t st_ctimeX;
119 int64_t unused0[3];
120 };
121
122 struct tgt_fsid
123 {
124 long val[2];
125 };
126
128 {
129 long f_type;
139 long f_spare[5];
140 };
141
142 static const int TGT_SIGHUP = 0x000001;
143 static const int TGT_SIGINT = 0x000002;
144 static const int TGT_SIGQUIT = 0x000003;
145 static const int TGT_SIGILL = 0x000004;
146 static const int TGT_SIGTRAP = 0x000005;
147 static const int TGT_SIGABRT = 0x000006;
148 static const int TGT_SIGIOT = 0x000006;
149 static const int TGT_SIGBUS = 0x000007;
150 static const int TGT_SIGFPE = 0x000008;
151 static const int TGT_SIGKILL = 0x000009;
152 static const int TGT_SIGUSR1 = 0x00000a;
153 static const int TGT_SIGSEGV = 0x00000b;
154 static const int TGT_SIGUSR2 = 0x00000c;
155 static const int TGT_SIGPIPE = 0x00000d;
156 static const int TGT_SIGALRM = 0x00000e;
157 static const int TGT_SIGTERM = 0x00000f;
158 static const int TGT_SIGSTKFLT = 0x000010;
159 static const int TGT_SIGCHLD = 0x000011;
160 static const int TGT_SIGCONT = 0x000012;
161 static const int TGT_SIGSTOP = 0x000013;
162 static const int TGT_SIGTSTP = 0x000014;
163 static const int TGT_SIGTTIN = 0x000015;
164 static const int TGT_SIGTTOU = 0x000016;
165 static const int TGT_SIGURG = 0x000017;
166 static const int TGT_SIGXCPU = 0x000018;
167 static const int TGT_SIGXFSZ = 0x000019;
168 static const int TGT_SIGVTALRM = 0x00001a;
169 static const int TGT_SIGPROF = 0x00001b;
170 static const int TGT_SIGWINCH = 0x00001c;
171 static const int TGT_SIGIO = 0x00001d;
172 static const int TGT_SIGPOLL = 0x00001d;
173 static const int TGT_SIGPWR = 0x00001e;
174 static const int TGT_SIGSYS = 0x00001f;
175 static const int TGT_SIGUNUSED = 0x00001f;
176
177 static constexpr int TGT_O_RDONLY = 000000000;
178 static constexpr int TGT_O_WRONLY = 000000001;
179 static constexpr int TGT_O_RDWR = 000000002;
180 static constexpr int TGT_O_CREAT = 000000100;
181 static constexpr int TGT_O_EXCL = 000000200;
182 static constexpr int TGT_O_NOCTTY = 000000400;
183 static constexpr int TGT_O_TRUNC = 000001000;
184 static constexpr int TGT_O_APPEND = 000002000;
185 static constexpr int TGT_O_NONBLOCK = 000004000;
186 static constexpr int TGT_O_DSYNC = 000010000;
187 static constexpr int TGT_FASYNC = 000020000;
188 static constexpr int TGT_O_DIRECT = 000040000;
189 static constexpr int TGT_O_LARGEFILE = 000100000;
190 static constexpr int TGT_O_DIRECTORY = 000200000;
191 static constexpr int TGT_O_NOFOLLOW = 000400000;
192 static constexpr int TGT_O_NOATIME = 001000000;
193 static constexpr int TGT_O_CLOEXEC = 002000000;
194 static constexpr int TGT_O_SYNC = 004010000;
195 static constexpr int TGT_O_PATH = 010000000;
196
198
199 typedef uint64_t size_t;
200 typedef uint64_t off_t;
201 typedef int64_t time_t;
202 typedef int64_t clock_t;
204
205 static constexpr unsigned TGT_MAP_SHARED = 0x00001;
206 static constexpr unsigned TGT_MAP_PRIVATE = 0x00002;
207 static constexpr unsigned TGT_MAP_32BIT = 0x00040;
208 static constexpr unsigned TGT_MAP_ANON = 0x00020;
209 static constexpr unsigned TGT_MAP_DENYWRITE = 0x00800;
210 static constexpr unsigned TGT_MAP_EXECUTABLE = 0x01000;
211 static constexpr unsigned TGT_MAP_FILE = 0x00000;
212 static constexpr unsigned TGT_MAP_GROWSDOWN = 0x00100;
213 static constexpr unsigned TGT_MAP_HUGETLB = 0x40000;
214 static constexpr unsigned TGT_MAP_LOCKED = 0x02000;
215 static constexpr unsigned TGT_MAP_NONBLOCK = 0x10000;
216 static constexpr unsigned TGT_MAP_NORESERVE = 0x04000;
217 static constexpr unsigned TGT_MAP_POPULATE = 0x08000;
218 static constexpr unsigned TGT_MAP_STACK = 0x20000;
219 static constexpr unsigned TGT_MAP_ANONYMOUS = 0x00020;
220 static constexpr unsigned TGT_MAP_FIXED = 0x00010;
221
223 {
224 uint64_t iov_base; // void *
225 uint64_t iov_len; // size_t
226 };
227
229 {
230 int64_t uptime; /* Seconds since boot */
231 uint64_t loads[3]; /* 1, 5, and 15 minute load averages */
232 uint64_t totalram; /* Total usable main memory size */
233 uint64_t freeram; /* Available memory size */
234 uint64_t sharedram; /* Amount of shared memory */
235 uint64_t bufferram; /* Memory used by buffers */
236 uint64_t totalswap; /* Total swap space size */
237 uint64_t freeswap; /* swap space still available */
238 uint16_t procs; /* Number of current processes */
239 uint64_t totalhigh; /* Total high memory size */
240 uint64_t freehigh; /* Available high memory size */
241 uint64_t mem_unit; /* Memory unit size in bytes */
242 };
243
245 {
246 uint64_t flags;
247 uint64_t pidfd;
248 uint64_t child_tid;
249 uint64_t parent_tid;
250 uint64_t exit_signal;
251 uint64_t stack;
252 uint64_t stack_size;
253 uint64_t tls;
254 uint64_t set_tid;
255 uint64_t set_tid_size;
256 uint64_t cgroup;
257 };
258
259};
260
261class X86Linux32 : public X86Linux, public OpenFlagTable<X86Linux32>
262{
263 public:
265 {
266 uint64_t st_dev;
267 uint8_t __pad0[4];
268 uint32_t __st_ino;
269 uint32_t st_mode;
270 uint32_t st_nlink;
271 uint32_t st_uid;
272 uint32_t st_gid;
273 uint64_t st_rdev;
274 uint8_t __pad3[4];
275 int64_t st_size;
276 uint32_t st_blksize;
277 uint64_t st_blocks;
278 uint32_t st_atimeX;
280 uint32_t st_mtimeX;
282 uint32_t st_ctimeX;
284 uint64_t st_ino;
285 };
286
287 static const int TGT_SIGHUP = 0x000001;
288 static const int TGT_SIGINT = 0x000002;
289 static const int TGT_SIGQUIT = 0x000003;
290 static const int TGT_SIGILL = 0x000004;
291 static const int TGT_SIGTRAP = 0x000005;
292 static const int TGT_SIGABRT = 0x000006;
293 static const int TGT_SIGIOT = 0x000006;
294 static const int TGT_SIGBUS = 0x000007;
295 static const int TGT_SIGFPE = 0x000008;
296 static const int TGT_SIGKILL = 0x000009;
297 static const int TGT_SIGUSR1 = 0x00000a;
298 static const int TGT_SIGSEGV = 0x00000b;
299 static const int TGT_SIGUSR2 = 0x00000c;
300 static const int TGT_SIGPIPE = 0x00000d;
301 static const int TGT_SIGALRM = 0x00000e;
302 static const int TGT_SIGTERM = 0x00000f;
303 static const int TGT_SIGSTKFLT = 0x000010;
304 static const int TGT_SIGCHLD = 0x000011;
305 static const int TGT_SIGCONT = 0x000012;
306 static const int TGT_SIGSTOP = 0x000013;
307 static const int TGT_SIGTSTP = 0x000014;
308 static const int TGT_SIGTTIN = 0x000015;
309 static const int TGT_SIGTTOU = 0x000016;
310 static const int TGT_SIGURG = 0x000017;
311 static const int TGT_SIGXCPU = 0x000018;
312 static const int TGT_SIGXFSZ = 0x000019;
313 static const int TGT_SIGVTALRM = 0x00001a;
314 static const int TGT_SIGPROF = 0x00001b;
315 static const int TGT_SIGWINCH = 0x00001c;
316 static const int TGT_SIGIO = 0x00001d;
317 static const int TGT_SIGPOLL = 0x00001d;
318 static const int TGT_SIGPWR = 0x00001e;
319 static const int TGT_SIGSYS = 0x00001f;
320 static const int TGT_SIGUNUSED = 0x00001f;
321
322 static constexpr int TGT_O_RDONLY = 000000000;
323 static constexpr int TGT_O_WRONLY = 000000001;
324 static constexpr int TGT_O_RDWR = 000000002;
325 static constexpr int TGT_O_CREAT = 000000100;
326 static constexpr int TGT_O_EXCL = 000000200;
327 static constexpr int TGT_O_NOCTTY = 000000400;
328 static constexpr int TGT_O_TRUNC = 000001000;
329 static constexpr int TGT_O_APPEND = 000002000;
330 static constexpr int TGT_O_NONBLOCK = 000004000;
331 static constexpr int TGT_O_DSYNC = 000010000;
332 static constexpr int TGT_FASYNC = 000020000;
333 static constexpr int TGT_O_DIRECT = 000040000;
334 static constexpr int TGT_O_LARGEFILE = 000100000;
335 static constexpr int TGT_O_DIRECTORY = 000200000;
336 static constexpr int TGT_O_NOFOLLOW = 000400000;
337 static constexpr int TGT_O_NOATIME = 001000000;
338 static constexpr int TGT_O_CLOEXEC = 002000000;
339 static constexpr int TGT_O_SYNC = 004010000;
340 static constexpr int TGT_O_PATH = 010000000;
341
342 static const std::map<int, int> mmapFlagTable;
343
345
346 typedef uint32_t size_t;
347 typedef uint32_t off_t;
348 typedef int32_t time_t;
349 typedef int32_t clock_t;
351
352 static constexpr unsigned TGT_MAP_SHARED = 0x00001;
353 static constexpr unsigned TGT_MAP_PRIVATE = 0x00002;
354 static constexpr unsigned TGT_MAP_32BIT = 0x00040;
355 static constexpr unsigned TGT_MAP_ANON = 0x00020;
356 static constexpr unsigned TGT_MAP_DENYWRITE = 0x00800;
357 static constexpr unsigned TGT_MAP_EXECUTABLE = 0x01000;
358 static constexpr unsigned TGT_MAP_FILE = 0x00000;
359 static constexpr unsigned TGT_MAP_GROWSDOWN = 0x00100;
360 static constexpr unsigned TGT_MAP_HUGETLB = 0x40000;
361 static constexpr unsigned TGT_MAP_LOCKED = 0x02000;
362 static constexpr unsigned TGT_MAP_NONBLOCK = 0x10000;
363 static constexpr unsigned TGT_MAP_NORESERVE = 0x04000;
364 static constexpr unsigned TGT_MAP_POPULATE = 0x08000;
365 static constexpr unsigned TGT_MAP_STACK = 0x20000;
366 static constexpr unsigned TGT_MAP_ANONYMOUS = 0x00020;
367 static constexpr unsigned TGT_MAP_FIXED = 0x00010;
368
370 {
371 int32_t uptime; /* Seconds since boot */
372 uint32_t loads[3]; /* 1, 5, and 15 minute load averages */
373 uint32_t totalram; /* Total usable main memory size */
374 uint32_t freeram; /* Available memory size */
375 uint32_t sharedram; /* Amount of shared memory */
376 uint32_t bufferram; /* Memory used by buffers */
377 uint32_t totalswap; /* Total swap space size */
378 uint32_t freeswap; /* swap space still available */
379 uint16_t procs; /* Number of current processes */
380 uint32_t totalhigh; /* Total high memory size */
381 uint32_t freehigh; /* Available high memory size */
382 uint32_t mem_unit; /* Memory unit size in bytes */
383 };
384};
385
386} // namespace gem5
387
388#endif
virtual void copyRegsFrom(ThreadContext *src)=0
This class encapsulates the types, structures, constants, functions, and syscall-number mappings spec...
Definition linux.hh:62
static const unsigned TGT_CLONE_SETTLS
Definition linux.hh:319
This class represents the return value from an emulated system call, including any errno setting.
int64_t encodedValue() const
The encoded value (as described above)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual void setMiscRegNoEffect(RegIndex misc_reg, RegVal val)=0
virtual BaseISA * getIsaPtr() const =0
virtual void setReg(const RegId &reg, RegVal val)
static const int TGT_SIGTTOU
Definition linux.hh:309
static constexpr unsigned TGT_MAP_NORESERVE
Definition linux.hh:363
static constexpr int TGT_O_CLOEXEC
Definition linux.hh:338
static constexpr int TGT_O_DIRECT
O_DIRECTIO.
Definition linux.hh:333
static constexpr int TGT_O_DIRECTORY
Definition linux.hh:335
static constexpr unsigned TGT_MAP_POPULATE
Definition linux.hh:364
static constexpr int TGT_O_NONBLOCK
O_NONBLOCK.
Definition linux.hh:330
static const int TGT_SIGVTALRM
Definition linux.hh:313
static const int TGT_SIGILL
Definition linux.hh:290
static const int TGT_SIGKILL
Definition linux.hh:296
static constexpr int TGT_O_EXCL
O_EXCL.
Definition linux.hh:326
static const int TGT_SIGTERM
Definition linux.hh:302
static constexpr unsigned TGT_MAP_FILE
Definition linux.hh:358
static const int TGT_SIGXFSZ
Definition linux.hh:312
static const int TGT_SIGFPE
Definition linux.hh:295
static constexpr int TGT_O_CREAT
O_CREAT.
Definition linux.hh:325
static constexpr unsigned TGT_MAP_PRIVATE
Definition linux.hh:353
static constexpr unsigned TGT_MAP_STACK
Definition linux.hh:365
static constexpr unsigned TGT_MAP_32BIT
Definition linux.hh:354
uint32_t off_t
Definition linux.hh:347
static const int TGT_SIGSTKFLT
Definition linux.hh:303
static constexpr unsigned TGT_MAP_ANONYMOUS
Definition linux.hh:366
static constexpr int TGT_O_RDONLY
O_RDONLY.
Definition linux.hh:322
static constexpr int TGT_O_RDWR
O_RDWR.
Definition linux.hh:324
static constexpr unsigned TGT_MAP_FIXED
Definition linux.hh:367
static const int TGT_SIGTRAP
Definition linux.hh:291
static const int TGT_SIGIO
Definition linux.hh:316
static constexpr int TGT_O_WRONLY
O_WRONLY.
Definition linux.hh:323
static const int TGT_SIGXCPU
Definition linux.hh:311
static const int TGT_SIGHUP
Definition linux.hh:287
static const int TGT_SIGPOLL
Definition linux.hh:317
static constexpr int TGT_O_PATH
Definition linux.hh:340
static constexpr int TGT_O_TRUNC
O_TRUNC.
Definition linux.hh:328
static constexpr int TGT_O_LARGEFILE
Definition linux.hh:334
static constexpr int TGT_O_NOATIME
Definition linux.hh:337
static const int TGT_SIGSYS
Definition linux.hh:319
int32_t clock_t
Definition linux.hh:349
static const int TGT_SIGURG
Definition linux.hh:310
static const int TGT_SIGPWR
Definition linux.hh:318
static constexpr int TGT_O_DSYNC
O_DSYNC.
Definition linux.hh:331
static const int TGT_SIGTSTP
Definition linux.hh:307
static const int TGT_SIGSEGV
Definition linux.hh:298
static const int TGT_SIGBUS
Definition linux.hh:294
uint32_t size_t
Basic X86 Linux types.
Definition linux.hh:346
static const int TGT_SIGUSR2
Definition linux.hh:299
static constexpr unsigned TGT_MAP_GROWSDOWN
Definition linux.hh:359
static const int TGT_SIGQUIT
Definition linux.hh:289
static constexpr unsigned TGT_MAP_ANON
Definition linux.hh:355
static const int TGT_SIGTTIN
Definition linux.hh:308
static constexpr unsigned TGT_MAP_DENYWRITE
Definition linux.hh:356
static constexpr unsigned TGT_MAP_NONBLOCK
Definition linux.hh:362
static constexpr int TGT_O_SYNC
O_SYNC.
Definition linux.hh:339
static constexpr unsigned TGT_MAP_HUGETLB
Definition linux.hh:360
static const int TGT_SIGUNUSED
Definition linux.hh:320
static constexpr unsigned TGT_MAP_LOCKED
Definition linux.hh:361
static const int TGT_SIGINT
Definition linux.hh:288
int32_t time_t
Definition linux.hh:348
static constexpr int TGT_O_NOCTTY
O_NOCTTY.
Definition linux.hh:327
static constexpr int TGT_O_APPEND
O_APPEND.
Definition linux.hh:329
static const int TGT_SIGABRT
Definition linux.hh:292
static const int TGT_SIGALRM
Definition linux.hh:301
static const int TGT_SIGPROF
Definition linux.hh:314
static constexpr int TGT_O_NOFOLLOW
Definition linux.hh:336
static const int TGT_SIGPIPE
Definition linux.hh:300
static const int TGT_SIGUSR1
Definition linux.hh:297
static const int TGT_SIGWINCH
Definition linux.hh:315
static constexpr unsigned TGT_MAP_EXECUTABLE
Definition linux.hh:357
static const int TGT_SIGCHLD
Definition linux.hh:304
static constexpr unsigned TGT_MAP_SHARED
Definition linux.hh:352
static constexpr int TGT_FASYNC
Definition linux.hh:332
static const int TGT_SIGSTOP
Definition linux.hh:306
static const int TGT_SIGCONT
Definition linux.hh:305
static const std::map< int, int > mmapFlagTable
Definition linux.hh:342
static const int TGT_SIGIOT
Definition linux.hh:293
static const int TGT_SIGSYS
Definition linux.hh:174
static constexpr int TGT_O_DSYNC
Definition linux.hh:186
static constexpr unsigned TGT_MAP_ANONYMOUS
Definition linux.hh:219
static const int TGT_SIGUNUSED
Definition linux.hh:175
static constexpr int TGT_O_DIRECTORY
Definition linux.hh:190
static const int TGT_SIGQUIT
Definition linux.hh:144
static const int TGT_SIGABRT
Definition linux.hh:147
uint64_t off_t
Definition linux.hh:200
static constexpr unsigned TGT_MAP_EXECUTABLE
Definition linux.hh:210
static const int TGT_SIGTRAP
Definition linux.hh:146
static constexpr int TGT_O_EXCL
O_EXCL.
Definition linux.hh:181
static constexpr int TGT_O_RDWR
O_RDWR.
Definition linux.hh:179
static const int TGT_SIGALRM
Definition linux.hh:156
static constexpr int TGT_O_NOFOLLOW
Definition linux.hh:191
static const int TGT_SIGSTKFLT
Definition linux.hh:158
static const int TGT_SIGUSR2
Definition linux.hh:154
static const int TGT_SIGILL
Definition linux.hh:145
static const int TGT_SIGSTOP
Definition linux.hh:161
static const int TGT_SIGFPE
Definition linux.hh:150
static constexpr unsigned TGT_MAP_HUGETLB
Definition linux.hh:213
static constexpr int TGT_O_CLOEXEC
Definition linux.hh:193
static constexpr int TGT_O_NOATIME
Definition linux.hh:192
int64_t clock_t
Definition linux.hh:202
static const int TGT_SIGURG
Definition linux.hh:165
static const int TGT_SIGSEGV
Definition linux.hh:153
static const int TGT_SIGUSR1
Definition linux.hh:152
static const int TGT_SIGTSTP
Definition linux.hh:162
static const int TGT_SIGPOLL
Definition linux.hh:172
static const int TGT_SIGPROF
Definition linux.hh:169
static constexpr int TGT_O_LARGEFILE
Definition linux.hh:189
static const int TGT_SIGCONT
Definition linux.hh:160
uint64_t size_t
Basic X86_64 Linux types.
Definition linux.hh:199
static constexpr int TGT_O_CREAT
O_CREAT.
Definition linux.hh:180
static constexpr int TGT_O_APPEND
O_APPEND.
Definition linux.hh:184
static const int TGT_SIGPIPE
Definition linux.hh:155
static const int TGT_SIGINT
Definition linux.hh:143
static constexpr int TGT_O_SYNC
O_SYNC.
Definition linux.hh:194
static constexpr int TGT_O_NONBLOCK
O_NONBLOCK.
Definition linux.hh:185
static constexpr int TGT_O_RDONLY
O_RDONLY.
Definition linux.hh:177
int64_t time_t
Definition linux.hh:201
static const int TGT_SIGHUP
Definition linux.hh:142
static const int TGT_SIGXFSZ
Definition linux.hh:167
static constexpr unsigned TGT_MAP_SHARED
Definition linux.hh:205
static const int TGT_SIGXCPU
Definition linux.hh:166
static const int TGT_SIGTTOU
Definition linux.hh:164
static const int TGT_SIGPWR
Definition linux.hh:173
static constexpr unsigned TGT_MAP_STACK
Definition linux.hh:218
static const int TGT_SIGVTALRM
Definition linux.hh:168
static constexpr unsigned TGT_MAP_NONBLOCK
Definition linux.hh:215
static constexpr unsigned TGT_MAP_FILE
Definition linux.hh:211
static const int TGT_SIGTERM
Definition linux.hh:157
static constexpr unsigned TGT_MAP_GROWSDOWN
Definition linux.hh:212
static constexpr unsigned TGT_MAP_FIXED
Definition linux.hh:220
static const int TGT_SIGCHLD
Definition linux.hh:159
static const int TGT_SIGKILL
Definition linux.hh:151
static constexpr int TGT_O_WRONLY
O_WRONLY.
Definition linux.hh:178
static const int TGT_SIGWINCH
Definition linux.hh:170
static constexpr unsigned TGT_MAP_POPULATE
Definition linux.hh:217
static constexpr unsigned TGT_MAP_LOCKED
Definition linux.hh:214
static constexpr int TGT_FASYNC
Definition linux.hh:187
static const int TGT_SIGIO
Definition linux.hh:171
static constexpr unsigned TGT_MAP_DENYWRITE
Definition linux.hh:209
static constexpr int TGT_O_PATH
Definition linux.hh:195
static const int TGT_SIGBUS
Definition linux.hh:149
static constexpr unsigned TGT_MAP_ANON
Definition linux.hh:208
static const int TGT_SIGTTIN
Definition linux.hh:163
static constexpr unsigned TGT_MAP_32BIT
Definition linux.hh:207
static constexpr unsigned TGT_MAP_NORESERVE
Definition linux.hh:216
static constexpr int TGT_O_NOCTTY
O_NOCTTY.
Definition linux.hh:182
static constexpr int TGT_O_TRUNC
O_TRUNC.
Definition linux.hh:183
static constexpr unsigned TGT_MAP_PRIVATE
Definition linux.hh:206
static constexpr int TGT_O_DIRECT
O_DIRECTIO.
Definition linux.hh:188
static const int TGT_SIGIOT
Definition linux.hh:148
static const ByteOrder byteOrder
Definition linux.hh:58
static void archClone(uint64_t flags, Process *pp, Process *cp, ThreadContext *ptc, ThreadContext *ctc, uint64_t stack, uint64_t tls)
Definition linux.hh:61
uint8_t flags
Definition helpers.cc:66
Bitfield< 7, 0 > ptc
constexpr RegId Rax
Definition int.hh:132
constexpr RegId Rsp
Definition int.hh:136
Bitfield< 17, 16 > stack
Definition misc.hh:592
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Overload hash function for BasicBlockRange type.
Definition misc.hh:2910
PM4 packets.

Generated on Mon Jul 10 2023 15:32:04 for gem5 by doxygen 1.9.7