gem5 v24.1.0.1
Loading...
Searching...
No Matches
linux.hh
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Arm Limited
3 * Copyright (c) 2007 The Hewlett-Packard Development Company
4 * All rights reserved.
5 *
6 * The license below extends only to copyright in the software and shall
7 * not be construed as granting a license to any other intellectual
8 * property including but not limited to intellectual property relating
9 * to a hardware implementation of the functionality of the software
10 * licensed hereunder. You may use the software subject to the license
11 * terms below provided that you ensure that this notice is replicated
12 * unmodified and in its entirety in all distributions of the software,
13 * modified or unmodified, in source code or in binary form.
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions are
17 * met: redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer;
19 * redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution;
22 * neither the name of the copyright holders nor the names of its
23 * contributors may be used to endorse or promote products derived from
24 * this software without specific prior written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 */
38
39#ifndef __ARCH_X86_LINUX_LINUX_HH__
40#define __ARCH_X86_LINUX_LINUX_HH__
41
42#include <map>
43
44#include "arch/x86/regs/int.hh"
45#include "arch/x86/regs/misc.hh"
46#include "arch/x86/utility.hh"
47#include "base/compiler.hh"
49#include "kern/linux/linux.hh"
50#include "sim/guest_abi.hh"
51#include "sim/syscall_return.hh"
52
53namespace gem5
54{
55
56class X86Linux : public Linux
57{
58 public:
59 static const ByteOrder byteOrder = ByteOrder::little;
60
61 static void
62 archClone(uint64_t flags,
63 Process *pp, Process *cp,
65 uint64_t stack, uint64_t tls)
66 {
67 ctc->getIsaPtr()->copyRegsFrom(ptc);
68
69 if (flags & TGT_CLONE_SETTLS) {
72 }
73
74 if (stack)
76 }
77
78 class SyscallABI {};
79};
80
81namespace guest_abi
82{
83
84template <typename ABI>
86 typename std::enable_if_t<std::is_base_of_v<X86Linux::SyscallABI, ABI>>>
87{
88 static void
90 {
92 }
93};
94
95} // namespace guest_abi
96
97class X86Linux64 : public X86Linux, public OpenFlagTable<X86Linux64>
98{
99 public:
100
102 {
103 uint64_t st_dev;
104 uint64_t st_ino;
105 uint64_t st_nlink;
106 uint32_t st_mode;
107 uint32_t st_uid;
108 uint32_t st_gid;
109 uint32_t __pad0;
110 uint64_t st_rdev;
111 int64_t st_size;
112 int64_t st_blksize;
113 int64_t st_blocks;
114 uint64_t st_atimeX;
116 uint64_t st_mtimeX;
118 uint64_t st_ctimeX;
120 int64_t unused0[3];
121 };
122
124 {
125 /* 0x00 */
126 uint32_t stx_mask;
127 uint32_t stx_blksize;
129 /* 0x10 */
130 uint32_t stx_nlink;
131 uint32_t stx_uid;
132 uint32_t stx_gid;
133 uint16_t stx_mode;
134 uint16_t stx_spare0;
135 /* 0x20 */
136 uint64_t stx_ino;
137 uint64_t stx_size;
138 uint64_t stx_blocks;
140 /* 0x40 */
141 uint64_t stx_atimeX;
144 uint64_t stx_btimeX;
147 uint64_t stx_ctimeX;
150 uint64_t stx_mtimeX;
153 /* 0x80 */
158 /* 0x90 */
159 uint64_t stx_mnt_id;
160 uint64_t stx_spare2;
161 /* 0xa0 */
162 uint64_t stx_spare3[12];
163 /* 0x100 */
164 };
165
166 struct tgt_fsid
167 {
168 long val[2];
169 };
170
172 {
173 long f_type;
183 long f_spare[5];
184 };
185
186 static const int TGT_SIGHUP = 0x000001;
187 static const int TGT_SIGINT = 0x000002;
188 static const int TGT_SIGQUIT = 0x000003;
189 static const int TGT_SIGILL = 0x000004;
190 static const int TGT_SIGTRAP = 0x000005;
191 static const int TGT_SIGABRT = 0x000006;
192 static const int TGT_SIGIOT = 0x000006;
193 static const int TGT_SIGBUS = 0x000007;
194 static const int TGT_SIGFPE = 0x000008;
195 static const int TGT_SIGKILL = 0x000009;
196 static const int TGT_SIGUSR1 = 0x00000a;
197 static const int TGT_SIGSEGV = 0x00000b;
198 static const int TGT_SIGUSR2 = 0x00000c;
199 static const int TGT_SIGPIPE = 0x00000d;
200 static const int TGT_SIGALRM = 0x00000e;
201 static const int TGT_SIGTERM = 0x00000f;
202 static const int TGT_SIGSTKFLT = 0x000010;
203 static const int TGT_SIGCHLD = 0x000011;
204 static const int TGT_SIGCONT = 0x000012;
205 static const int TGT_SIGSTOP = 0x000013;
206 static const int TGT_SIGTSTP = 0x000014;
207 static const int TGT_SIGTTIN = 0x000015;
208 static const int TGT_SIGTTOU = 0x000016;
209 static const int TGT_SIGURG = 0x000017;
210 static const int TGT_SIGXCPU = 0x000018;
211 static const int TGT_SIGXFSZ = 0x000019;
212 static const int TGT_SIGVTALRM = 0x00001a;
213 static const int TGT_SIGPROF = 0x00001b;
214 static const int TGT_SIGWINCH = 0x00001c;
215 static const int TGT_SIGIO = 0x00001d;
216 static const int TGT_SIGPOLL = 0x00001d;
217 static const int TGT_SIGPWR = 0x00001e;
218 static const int TGT_SIGSYS = 0x00001f;
219 static const int TGT_SIGUNUSED = 0x00001f;
220
221 static constexpr int TGT_O_RDONLY = 000000000;
222 static constexpr int TGT_O_WRONLY = 000000001;
223 static constexpr int TGT_O_RDWR = 000000002;
224 static constexpr int TGT_O_CREAT = 000000100;
225 static constexpr int TGT_O_EXCL = 000000200;
226 static constexpr int TGT_O_NOCTTY = 000000400;
227 static constexpr int TGT_O_TRUNC = 000001000;
228 static constexpr int TGT_O_APPEND = 000002000;
229 static constexpr int TGT_O_NONBLOCK = 000004000;
230 static constexpr int TGT_O_DSYNC = 000010000;
231 static constexpr int TGT_FASYNC = 000020000;
232 static constexpr int TGT_O_DIRECT = 000040000;
233 static constexpr int TGT_O_LARGEFILE = 000100000;
234 static constexpr int TGT_O_DIRECTORY = 000200000;
235 static constexpr int TGT_O_NOFOLLOW = 000400000;
236 static constexpr int TGT_O_NOATIME = 001000000;
237 static constexpr int TGT_O_CLOEXEC = 002000000;
238 static constexpr int TGT_O_SYNC = 004010000;
239 static constexpr int TGT_O_PATH = 010000000;
240
242
243 typedef uint64_t size_t;
244 typedef int64_t off_t;
245 typedef int64_t time_t;
246 typedef int64_t clock_t;
248
249 static constexpr unsigned TGT_MAP_SHARED = 0x00001;
250 static constexpr unsigned TGT_MAP_PRIVATE = 0x00002;
251 static constexpr unsigned TGT_MAP_32BIT = 0x00040;
252 static constexpr unsigned TGT_MAP_ANON = 0x00020;
253 static constexpr unsigned TGT_MAP_DENYWRITE = 0x00800;
254 static constexpr unsigned TGT_MAP_EXECUTABLE = 0x01000;
255 static constexpr unsigned TGT_MAP_FILE = 0x00000;
256 static constexpr unsigned TGT_MAP_GROWSDOWN = 0x00100;
257 static constexpr unsigned TGT_MAP_HUGETLB = 0x40000;
258 static constexpr unsigned TGT_MAP_LOCKED = 0x02000;
259 static constexpr unsigned TGT_MAP_NONBLOCK = 0x10000;
260 static constexpr unsigned TGT_MAP_NORESERVE = 0x04000;
261 static constexpr unsigned TGT_MAP_POPULATE = 0x08000;
262 static constexpr unsigned TGT_MAP_STACK = 0x20000;
263 static constexpr unsigned TGT_MAP_ANONYMOUS = 0x00020;
264 static constexpr unsigned TGT_MAP_FIXED = 0x00010;
265
267 {
268 uint64_t iov_base; // void *
269 uint64_t iov_len; // size_t
270 };
271
273 {
274 int64_t uptime; /* Seconds since boot */
275 uint64_t loads[3]; /* 1, 5, and 15 minute load averages */
276 uint64_t totalram; /* Total usable main memory size */
277 uint64_t freeram; /* Available memory size */
278 uint64_t sharedram; /* Amount of shared memory */
279 uint64_t bufferram; /* Memory used by buffers */
280 uint64_t totalswap; /* Total swap space size */
281 uint64_t freeswap; /* swap space still available */
282 uint16_t procs; /* Number of current processes */
283 uint64_t totalhigh; /* Total high memory size */
284 uint64_t freehigh; /* Available high memory size */
285 uint64_t mem_unit; /* Memory unit size in bytes */
286 };
287
289 {
290 uint64_t flags;
291 uint64_t pidfd;
292 uint64_t child_tid;
293 uint64_t parent_tid;
294 uint64_t exit_signal;
295 uint64_t stack;
296 uint64_t stack_size;
297 uint64_t tls;
298 uint64_t set_tid;
299 uint64_t set_tid_size;
300 uint64_t cgroup;
301 };
302
303};
304
305class X86Linux32 : public X86Linux, public OpenFlagTable<X86Linux32>
306{
307 public:
309 {
310 uint64_t st_dev;
311 uint8_t __pad0[4];
312 uint32_t __st_ino;
313 uint32_t st_mode;
314 uint32_t st_nlink;
315 uint32_t st_uid;
316 uint32_t st_gid;
317 uint64_t st_rdev;
318 uint8_t __pad3[4];
319 int64_t st_size;
320 uint32_t st_blksize;
321 uint64_t st_blocks;
322 uint32_t st_atimeX;
324 uint32_t st_mtimeX;
326 uint32_t st_ctimeX;
328 uint64_t st_ino;
329 };
330
331 static const int TGT_SIGHUP = 0x000001;
332 static const int TGT_SIGINT = 0x000002;
333 static const int TGT_SIGQUIT = 0x000003;
334 static const int TGT_SIGILL = 0x000004;
335 static const int TGT_SIGTRAP = 0x000005;
336 static const int TGT_SIGABRT = 0x000006;
337 static const int TGT_SIGIOT = 0x000006;
338 static const int TGT_SIGBUS = 0x000007;
339 static const int TGT_SIGFPE = 0x000008;
340 static const int TGT_SIGKILL = 0x000009;
341 static const int TGT_SIGUSR1 = 0x00000a;
342 static const int TGT_SIGSEGV = 0x00000b;
343 static const int TGT_SIGUSR2 = 0x00000c;
344 static const int TGT_SIGPIPE = 0x00000d;
345 static const int TGT_SIGALRM = 0x00000e;
346 static const int TGT_SIGTERM = 0x00000f;
347 static const int TGT_SIGSTKFLT = 0x000010;
348 static const int TGT_SIGCHLD = 0x000011;
349 static const int TGT_SIGCONT = 0x000012;
350 static const int TGT_SIGSTOP = 0x000013;
351 static const int TGT_SIGTSTP = 0x000014;
352 static const int TGT_SIGTTIN = 0x000015;
353 static const int TGT_SIGTTOU = 0x000016;
354 static const int TGT_SIGURG = 0x000017;
355 static const int TGT_SIGXCPU = 0x000018;
356 static const int TGT_SIGXFSZ = 0x000019;
357 static const int TGT_SIGVTALRM = 0x00001a;
358 static const int TGT_SIGPROF = 0x00001b;
359 static const int TGT_SIGWINCH = 0x00001c;
360 static const int TGT_SIGIO = 0x00001d;
361 static const int TGT_SIGPOLL = 0x00001d;
362 static const int TGT_SIGPWR = 0x00001e;
363 static const int TGT_SIGSYS = 0x00001f;
364 static const int TGT_SIGUNUSED = 0x00001f;
365
366 static constexpr int TGT_O_RDONLY = 000000000;
367 static constexpr int TGT_O_WRONLY = 000000001;
368 static constexpr int TGT_O_RDWR = 000000002;
369 static constexpr int TGT_O_CREAT = 000000100;
370 static constexpr int TGT_O_EXCL = 000000200;
371 static constexpr int TGT_O_NOCTTY = 000000400;
372 static constexpr int TGT_O_TRUNC = 000001000;
373 static constexpr int TGT_O_APPEND = 000002000;
374 static constexpr int TGT_O_NONBLOCK = 000004000;
375 static constexpr int TGT_O_DSYNC = 000010000;
376 static constexpr int TGT_FASYNC = 000020000;
377 static constexpr int TGT_O_DIRECT = 000040000;
378 static constexpr int TGT_O_LARGEFILE = 000100000;
379 static constexpr int TGT_O_DIRECTORY = 000200000;
380 static constexpr int TGT_O_NOFOLLOW = 000400000;
381 static constexpr int TGT_O_NOATIME = 001000000;
382 static constexpr int TGT_O_CLOEXEC = 002000000;
383 static constexpr int TGT_O_SYNC = 004010000;
384 static constexpr int TGT_O_PATH = 010000000;
385
386 static const std::map<int, int> mmapFlagTable;
387
389
390 typedef uint32_t size_t;
391 typedef int32_t off_t;
392 typedef int32_t time_t;
393 typedef int32_t clock_t;
395
396 static constexpr unsigned TGT_MAP_SHARED = 0x00001;
397 static constexpr unsigned TGT_MAP_PRIVATE = 0x00002;
398 static constexpr unsigned TGT_MAP_32BIT = 0x00040;
399 static constexpr unsigned TGT_MAP_ANON = 0x00020;
400 static constexpr unsigned TGT_MAP_DENYWRITE = 0x00800;
401 static constexpr unsigned TGT_MAP_EXECUTABLE = 0x01000;
402 static constexpr unsigned TGT_MAP_FILE = 0x00000;
403 static constexpr unsigned TGT_MAP_GROWSDOWN = 0x00100;
404 static constexpr unsigned TGT_MAP_HUGETLB = 0x40000;
405 static constexpr unsigned TGT_MAP_LOCKED = 0x02000;
406 static constexpr unsigned TGT_MAP_NONBLOCK = 0x10000;
407 static constexpr unsigned TGT_MAP_NORESERVE = 0x04000;
408 static constexpr unsigned TGT_MAP_POPULATE = 0x08000;
409 static constexpr unsigned TGT_MAP_STACK = 0x20000;
410 static constexpr unsigned TGT_MAP_ANONYMOUS = 0x00020;
411 static constexpr unsigned TGT_MAP_FIXED = 0x00010;
412
414 {
415 int32_t uptime; /* Seconds since boot */
416 uint32_t loads[3]; /* 1, 5, and 15 minute load averages */
417 uint32_t totalram; /* Total usable main memory size */
418 uint32_t freeram; /* Available memory size */
419 uint32_t sharedram; /* Amount of shared memory */
420 uint32_t bufferram; /* Memory used by buffers */
421 uint32_t totalswap; /* Total swap space size */
422 uint32_t freeswap; /* swap space still available */
423 uint16_t procs; /* Number of current processes */
424 uint32_t totalhigh; /* Total high memory size */
425 uint32_t freehigh; /* Available high memory size */
426 uint32_t mem_unit; /* Memory unit size in bytes */
427 };
428};
429
430} // namespace gem5
431
432#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:353
static constexpr unsigned TGT_MAP_NORESERVE
Definition linux.hh:407
static constexpr int TGT_O_CLOEXEC
Definition linux.hh:382
static constexpr int TGT_O_DIRECT
O_DIRECTIO.
Definition linux.hh:377
static constexpr int TGT_O_DIRECTORY
Definition linux.hh:379
static constexpr unsigned TGT_MAP_POPULATE
Definition linux.hh:408
static constexpr int TGT_O_NONBLOCK
O_NONBLOCK.
Definition linux.hh:374
static const int TGT_SIGVTALRM
Definition linux.hh:357
static const int TGT_SIGILL
Definition linux.hh:334
static const int TGT_SIGKILL
Definition linux.hh:340
static constexpr int TGT_O_EXCL
O_EXCL.
Definition linux.hh:370
static const int TGT_SIGTERM
Definition linux.hh:346
static constexpr unsigned TGT_MAP_FILE
Definition linux.hh:402
static const int TGT_SIGXFSZ
Definition linux.hh:356
static const int TGT_SIGFPE
Definition linux.hh:339
int32_t off_t
Definition linux.hh:391
static constexpr int TGT_O_CREAT
O_CREAT.
Definition linux.hh:369
static constexpr unsigned TGT_MAP_PRIVATE
Definition linux.hh:397
static constexpr unsigned TGT_MAP_STACK
Definition linux.hh:409
static constexpr unsigned TGT_MAP_32BIT
Definition linux.hh:398
static const int TGT_SIGSTKFLT
Definition linux.hh:347
static constexpr unsigned TGT_MAP_ANONYMOUS
Definition linux.hh:410
static constexpr int TGT_O_RDONLY
O_RDONLY.
Definition linux.hh:366
static constexpr int TGT_O_RDWR
O_RDWR.
Definition linux.hh:368
static constexpr unsigned TGT_MAP_FIXED
Definition linux.hh:411
static const int TGT_SIGTRAP
Definition linux.hh:335
static const int TGT_SIGIO
Definition linux.hh:360
static constexpr int TGT_O_WRONLY
O_WRONLY.
Definition linux.hh:367
static const int TGT_SIGXCPU
Definition linux.hh:355
static const int TGT_SIGHUP
Definition linux.hh:331
static const int TGT_SIGPOLL
Definition linux.hh:361
static constexpr int TGT_O_PATH
Definition linux.hh:384
static constexpr int TGT_O_TRUNC
O_TRUNC.
Definition linux.hh:372
static constexpr int TGT_O_LARGEFILE
Definition linux.hh:378
static constexpr int TGT_O_NOATIME
Definition linux.hh:381
static const int TGT_SIGSYS
Definition linux.hh:363
int32_t clock_t
Definition linux.hh:393
static const int TGT_SIGURG
Definition linux.hh:354
static const int TGT_SIGPWR
Definition linux.hh:362
static constexpr int TGT_O_DSYNC
O_DSYNC.
Definition linux.hh:375
static const int TGT_SIGTSTP
Definition linux.hh:351
static const int TGT_SIGSEGV
Definition linux.hh:342
static const int TGT_SIGBUS
Definition linux.hh:338
uint32_t size_t
Basic X86 Linux types.
Definition linux.hh:390
static const int TGT_SIGUSR2
Definition linux.hh:343
static constexpr unsigned TGT_MAP_GROWSDOWN
Definition linux.hh:403
static const int TGT_SIGQUIT
Definition linux.hh:333
static constexpr unsigned TGT_MAP_ANON
Definition linux.hh:399
static const int TGT_SIGTTIN
Definition linux.hh:352
static constexpr unsigned TGT_MAP_DENYWRITE
Definition linux.hh:400
static constexpr unsigned TGT_MAP_NONBLOCK
Definition linux.hh:406
static constexpr int TGT_O_SYNC
O_SYNC.
Definition linux.hh:383
static constexpr unsigned TGT_MAP_HUGETLB
Definition linux.hh:404
static const int TGT_SIGUNUSED
Definition linux.hh:364
static constexpr unsigned TGT_MAP_LOCKED
Definition linux.hh:405
static const int TGT_SIGINT
Definition linux.hh:332
int32_t time_t
Definition linux.hh:392
static constexpr int TGT_O_NOCTTY
O_NOCTTY.
Definition linux.hh:371
static constexpr int TGT_O_APPEND
O_APPEND.
Definition linux.hh:373
static const int TGT_SIGABRT
Definition linux.hh:336
static const int TGT_SIGALRM
Definition linux.hh:345
static const int TGT_SIGPROF
Definition linux.hh:358
static constexpr int TGT_O_NOFOLLOW
Definition linux.hh:380
static const int TGT_SIGPIPE
Definition linux.hh:344
static const int TGT_SIGUSR1
Definition linux.hh:341
static const int TGT_SIGWINCH
Definition linux.hh:359
static constexpr unsigned TGT_MAP_EXECUTABLE
Definition linux.hh:401
static const int TGT_SIGCHLD
Definition linux.hh:348
static constexpr unsigned TGT_MAP_SHARED
Definition linux.hh:396
static constexpr int TGT_FASYNC
Definition linux.hh:376
static const int TGT_SIGSTOP
Definition linux.hh:350
static const int TGT_SIGCONT
Definition linux.hh:349
static const std::map< int, int > mmapFlagTable
Definition linux.hh:386
static const int TGT_SIGIOT
Definition linux.hh:337
static const int TGT_SIGSYS
Definition linux.hh:218
static constexpr int TGT_O_DSYNC
Definition linux.hh:230
int64_t off_t
Definition linux.hh:244
static constexpr unsigned TGT_MAP_ANONYMOUS
Definition linux.hh:263
static const int TGT_SIGUNUSED
Definition linux.hh:219
static constexpr int TGT_O_DIRECTORY
Definition linux.hh:234
static const int TGT_SIGQUIT
Definition linux.hh:188
static const int TGT_SIGABRT
Definition linux.hh:191
static constexpr unsigned TGT_MAP_EXECUTABLE
Definition linux.hh:254
static const int TGT_SIGTRAP
Definition linux.hh:190
static constexpr int TGT_O_EXCL
O_EXCL.
Definition linux.hh:225
static constexpr int TGT_O_RDWR
O_RDWR.
Definition linux.hh:223
static const int TGT_SIGALRM
Definition linux.hh:200
static constexpr int TGT_O_NOFOLLOW
Definition linux.hh:235
static const int TGT_SIGSTKFLT
Definition linux.hh:202
static const int TGT_SIGUSR2
Definition linux.hh:198
static const int TGT_SIGILL
Definition linux.hh:189
static const int TGT_SIGSTOP
Definition linux.hh:205
static const int TGT_SIGFPE
Definition linux.hh:194
static constexpr unsigned TGT_MAP_HUGETLB
Definition linux.hh:257
static constexpr int TGT_O_CLOEXEC
Definition linux.hh:237
static constexpr int TGT_O_NOATIME
Definition linux.hh:236
int64_t clock_t
Definition linux.hh:246
static const int TGT_SIGURG
Definition linux.hh:209
static const int TGT_SIGSEGV
Definition linux.hh:197
static const int TGT_SIGUSR1
Definition linux.hh:196
static const int TGT_SIGTSTP
Definition linux.hh:206
static const int TGT_SIGPOLL
Definition linux.hh:216
static const int TGT_SIGPROF
Definition linux.hh:213
static constexpr int TGT_O_LARGEFILE
Definition linux.hh:233
static const int TGT_SIGCONT
Definition linux.hh:204
uint64_t size_t
Basic X86_64 Linux types.
Definition linux.hh:243
static constexpr int TGT_O_CREAT
O_CREAT.
Definition linux.hh:224
static constexpr int TGT_O_APPEND
O_APPEND.
Definition linux.hh:228
static const int TGT_SIGPIPE
Definition linux.hh:199
static const int TGT_SIGINT
Definition linux.hh:187
static constexpr int TGT_O_SYNC
O_SYNC.
Definition linux.hh:238
static constexpr int TGT_O_NONBLOCK
O_NONBLOCK.
Definition linux.hh:229
static constexpr int TGT_O_RDONLY
O_RDONLY.
Definition linux.hh:221
int64_t time_t
Definition linux.hh:245
static const int TGT_SIGHUP
Definition linux.hh:186
static const int TGT_SIGXFSZ
Definition linux.hh:211
static constexpr unsigned TGT_MAP_SHARED
Definition linux.hh:249
static const int TGT_SIGXCPU
Definition linux.hh:210
static const int TGT_SIGTTOU
Definition linux.hh:208
static const int TGT_SIGPWR
Definition linux.hh:217
static constexpr unsigned TGT_MAP_STACK
Definition linux.hh:262
static const int TGT_SIGVTALRM
Definition linux.hh:212
static constexpr unsigned TGT_MAP_NONBLOCK
Definition linux.hh:259
static constexpr unsigned TGT_MAP_FILE
Definition linux.hh:255
static const int TGT_SIGTERM
Definition linux.hh:201
static constexpr unsigned TGT_MAP_GROWSDOWN
Definition linux.hh:256
static constexpr unsigned TGT_MAP_FIXED
Definition linux.hh:264
static const int TGT_SIGCHLD
Definition linux.hh:203
static const int TGT_SIGKILL
Definition linux.hh:195
static constexpr int TGT_O_WRONLY
O_WRONLY.
Definition linux.hh:222
static const int TGT_SIGWINCH
Definition linux.hh:214
static constexpr unsigned TGT_MAP_POPULATE
Definition linux.hh:261
static constexpr unsigned TGT_MAP_LOCKED
Definition linux.hh:258
static constexpr int TGT_FASYNC
Definition linux.hh:231
static const int TGT_SIGIO
Definition linux.hh:215
static constexpr unsigned TGT_MAP_DENYWRITE
Definition linux.hh:253
static constexpr int TGT_O_PATH
Definition linux.hh:239
static const int TGT_SIGBUS
Definition linux.hh:193
static constexpr unsigned TGT_MAP_ANON
Definition linux.hh:252
static const int TGT_SIGTTIN
Definition linux.hh:207
static constexpr unsigned TGT_MAP_32BIT
Definition linux.hh:251
static constexpr unsigned TGT_MAP_NORESERVE
Definition linux.hh:260
static constexpr int TGT_O_NOCTTY
O_NOCTTY.
Definition linux.hh:226
static constexpr int TGT_O_TRUNC
O_TRUNC.
Definition linux.hh:227
static constexpr unsigned TGT_MAP_PRIVATE
Definition linux.hh:250
static constexpr int TGT_O_DIRECT
O_DIRECTIO.
Definition linux.hh:232
static const int TGT_SIGIOT
Definition linux.hh:192
static const ByteOrder byteOrder
Definition linux.hh:59
static void archClone(uint64_t flags, Process *pp, Process *cp, ThreadContext *ptc, ThreadContext *ctc, uint64_t stack, uint64_t tls)
Definition linux.hh:62
uint8_t flags
Definition helpers.cc:87
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:602
Copyright (c) 2024 Arm Limited All rights reserved.
Definition binary32.hh:36
Overload hash function for BasicBlockRange type.
Definition binary32.hh:81
PM4 packets.
uint64_t stx_spare3[12]
Definition linux.hh:162

Generated on Mon Jan 13 2025 04:28:22 for gem5 by doxygen 1.9.8