42#ifndef __ARCH_ARM_LINUX_LINUX_HH__
43#define __ARCH_ARM_LINUX_LINUX_HH__
58 static const ByteOrder
byteOrder = ByteOrder::little;
64 uint64_t
stack, uint64_t tls)
288 uint64_t
stack, uint64_t tls)
301 static const int TGT_SIGHUP = 0x000001;
302 static const int TGT_SIGINT = 0x000002;
303 static const int TGT_SIGQUIT = 0x000003;
304 static const int TGT_SIGILL = 0x000004;
305 static const int TGT_SIGTRAP = 0x000005;
306 static const int TGT_SIGABRT = 0x000006;
307 static const int TGT_SIGIOT = 0x000006;
308 static const int TGT_SIGBUS = 0x000007;
309 static const int TGT_SIGFPE = 0x000008;
310 static const int TGT_SIGKILL = 0x000009;
311 static const int TGT_SIGUSR1 = 0x00000a;
312 static const int TGT_SIGSEGV = 0x00000b;
313 static const int TGT_SIGUSR2 = 0x00000c;
314 static const int TGT_SIGPIPE = 0x00000d;
315 static const int TGT_SIGALRM = 0x00000e;
316 static const int TGT_SIGTERM = 0x00000f;
317 static const int TGT_SIGSTKFLT = 0x000010;
318 static const int TGT_SIGCHLD = 0x000011;
319 static const int TGT_SIGCONT = 0x000012;
320 static const int TGT_SIGSTOP = 0x000013;
321 static const int TGT_SIGTSTP = 0x000014;
322 static const int TGT_SIGTTIN = 0x000015;
323 static const int TGT_SIGTTOU = 0x000016;
324 static const int TGT_SIGURG = 0x000017;
325 static const int TGT_SIGXCPU = 0x000018;
326 static const int TGT_SIGXFSZ = 0x000019;
327 static const int TGT_SIGVTALRM = 0x00001a;
328 static const int TGT_SIGPROF = 0x00001b;
329 static const int TGT_SIGWINCH = 0x00001c;
330 static const int TGT_SIGIO = 0x00001d;
331 static const int TGT_SIGPOLL = 0x00001d;
332 static const int TGT_SIGPWR = 0x00001e;
333 static const int TGT_SIGSYS = 0x00001f;
334 static const int TGT_SIGUNUSED = 0x00001f;
346 static constexpr int TGT_O_RDONLY = 000000000;
347 static constexpr int TGT_O_WRONLY = 000000001;
348 static constexpr int TGT_O_RDWR = 000000002;
349 static constexpr int TGT_O_CREAT = 000000100;
350 static constexpr int TGT_O_EXCL = 000000200;
351 static constexpr int TGT_O_NOCTTY = 000000400;
352 static constexpr int TGT_O_TRUNC = 000001000;
353 static constexpr int TGT_O_APPEND = 000002000;
354 static constexpr int TGT_O_NONBLOCK = 000004000;
355 static constexpr int TGT_O_DSYNC = 000010000;
356 static constexpr int TGT_FASYNC = 000020000;
357 static constexpr int TGT_O_DIRECT = 000200000;
358 static constexpr int TGT_O_LARGEFILE = 000400000;
359 static constexpr int TGT_O_DIRECTORY = 000040000;
360 static constexpr int TGT_O_NOFOLLOW = 000100000;
361 static constexpr int TGT_O_NOATIME = 001000000;
362 static constexpr int TGT_O_CLOEXEC = 002000000;
363 static constexpr int TGT_O_SYNC = 004010000;
364 static constexpr int TGT_O_PATH = 010000000;
367 static constexpr unsigned TGT_MAP_SHARED = 0x00001;
368 static constexpr unsigned TGT_MAP_PRIVATE = 0x00002;
369 static constexpr unsigned TGT_MAP_ANON = 0x00020;
370 static constexpr unsigned TGT_MAP_DENYWRITE = 0x00800;
371 static constexpr unsigned TGT_MAP_EXECUTABLE = 0x01000;
372 static constexpr unsigned TGT_MAP_FILE = 0x00000;
373 static constexpr unsigned TGT_MAP_GROWSDOWN = 0x00100;
374 static constexpr unsigned TGT_MAP_HUGETLB = 0x40000;
375 static constexpr unsigned TGT_MAP_LOCKED = 0x02000;
376 static constexpr unsigned TGT_MAP_NONBLOCK = 0x10000;
377 static constexpr unsigned TGT_MAP_NORESERVE = 0x04000;
378 static constexpr unsigned TGT_MAP_POPULATE = 0x08000;
379 static constexpr unsigned TGT_MAP_STACK = 0x20000;
380 static constexpr unsigned TGT_MAP_ANONYMOUS = 0x00020;
381 static constexpr unsigned TGT_MAP_FIXED = 0x00010;
385 static const int TGT_RUSAGE_SELF = 0;
386 static const int TGT_RUSAGE_CHILDREN = -1;
387 static const int TGT_RUSAGE_BOTH = -2;
392 static const unsigned TIOCGETP_ = 0x5401;
393 static const unsigned TIOCSETP_ = 0x80067409;
394 static const unsigned TIOCSETN_ = 0x8006740a;
395 static const unsigned TIOCSETC_ = 0x80067411;
396 static const unsigned TIOCGETC_ = 0x40067412;
397 static const unsigned FIONREAD_ = 0x4004667f;
398 static const unsigned TIOCISATTY_ = 0x2000745e;
399 static const unsigned TIOCGETS_ = 0x402c7413;
400 static const unsigned TIOCGETA_ = 0x5405;
401 static const unsigned TCSETAW_ = 0x5407;
405 static const int TBL_SYSINFO = 12;
411 TGT_RLIMIT_FSIZE = 1,
413 TGT_RLIMIT_STACK = 3,
416 TGT_RLIMIT_NPROC = 6,
417 TGT_RLIMIT_NOFILE = 7,
418 TGT_RLIMIT_MEMLOCK = 8,
420 TGT_RLIMIT_LOCKS = 10
542 uint64_t stack, uint64_t tls)
static constexpr int TGT_O_SYNC
O_SYNC.
static constexpr int TGT_O_DSYNC
O_DSYNC.
uint32_t size_t
Basic ARM Linux types.
static constexpr unsigned TGT_MAP_POPULATE
static const int TGT_SIGBUS
static constexpr int TGT_O_LARGEFILE
O_LARGEFILE.
static const int TGT_SIGABRT
static constexpr unsigned TGT_MAP_DENYWRITE
static const int TBL_SYSINFO
For table().
static constexpr unsigned TGT_MAP_HUGETLB
static const int TGT_SIGTSTP
static constexpr int TGT_O_DIRECTORY
O_DIRECTORY.
static const int TGT_SIGXCPU
static constexpr int TGT_O_DIRECT
O_DIRECT.
static constexpr unsigned TGT_MAP_NONBLOCK
static const int TGT_SIGPOLL
static const int TGT_SIGQUIT
static constexpr unsigned TGT_MAP_PRIVATE
static constexpr int TGT_O_NOATIME
O_NOATIME.
static constexpr int TGT_O_NOCTTY
O_NOCTTY.
static const int TGT_SIGTRAP
static const int TGT_SIGILL
static const int TGT_SIGCONT
static const int TGT_SIGUNUSED
static const int TGT_SIGWINCH
static const int TGT_SIGPWR
static const int TGT_SIGPROF
static const int TGT_SIGTTOU
static const int TGT_SIGSTKFLT
static void archClone(uint64_t flags, Process *pp, Process *cp, ThreadContext *ptc, ThreadContext *ctc, uint64_t stack, uint64_t tls)
static constexpr unsigned TGT_MAP_STACK
static const int TGT_SIGINT
static constexpr unsigned TGT_MAP_ANON
static const int TGT_SIGUSR2
static constexpr int TGT_O_TRUNC
O_TRUNC.
static constexpr int TGT_O_NONBLOCK
O_NONBLOCK.
static const int TGT_SIGIOT
static const int TGT_SIGTTIN
static const int TGT_SIGPIPE
static constexpr unsigned TGT_MAP_SHARED
static constexpr int TGT_O_RDWR
O_RDWR.
static constexpr unsigned TGT_MAP_NORESERVE
static const int TGT_SIGURG
static const int TGT_SIGHUP
static const int TGT_SIGKILL
static const int TGT_SIGSEGV
static constexpr unsigned TGT_MAP_ANONYMOUS
static constexpr unsigned TGT_MAP_LOCKED
static constexpr int TGT_O_RDONLY
open(2) flag values.
static constexpr int TGT_O_CREAT
O_CREAT.
static const int TGT_SIGXFSZ
static constexpr int TGT_O_CLOEXEC
O_NOATIME.
static constexpr unsigned TGT_MAP_GROWSDOWN
static const int TGT_SIGTERM
static constexpr int TGT_O_WRONLY
O_WRONLY.
static constexpr int TGT_O_NOFOLLOW
O_NOFOLLOW.
static constexpr unsigned TGT_MAP_EXECUTABLE
static const int TGT_SIGUSR1
static const int TGT_SIGALRM
static const int TGT_SIGCHLD
static constexpr int TGT_O_PATH
O_PATH.
static constexpr int TGT_FASYNC
FASYNC.
static const int TGT_SIGSTOP
static const int TGT_SIGIO
static const int TGT_SIGFPE
static constexpr unsigned TGT_MAP_FIXED
static constexpr unsigned TGT_MAP_FILE
static const int TGT_SIGVTALRM
static const int TGT_SIGSYS
static constexpr int TGT_O_EXCL
O_EXCL.
static constexpr int TGT_O_APPEND
O_APPEND.
uint64_t size_t
Basic ARM Linux types.
rlimit_resources
Resource enumeration for getrlimit().
static void archClone(uint64_t flags, Process *pp, Process *cp, ThreadContext *ptc, ThreadContext *ctc, uint64_t stack, uint64_t tls)
static void archClone(uint64_t flags, Process *pp, Process *cp, ThreadContext *ptc, ThreadContext *ctc, uint64_t stack, uint64_t tls)
static const ByteOrder byteOrder
virtual void copyRegsFrom(ThreadContext *src)=0
This class encapsulates the types, structures, constants, functions, and syscall-number mappings spec...
static const unsigned TGT_CLONE_SETTLS
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual void setMiscReg(RegIndex misc_reg, RegVal val)=0
virtual BaseISA * getIsaPtr() const =0
virtual void setReg(const RegId ®, RegVal val)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Limit struct for getrlimit/setrlimit.
uint32_t rlim_max
hard limit
uint32_t rlim_cur
soft limit
int32_t ru_oublock
block output operations
int32_t ru_nivcsw
involuntary "
int32_t ru_isrss
integral unshared stack "
int32_t ru_idrss
integral unshared data "
int32_t ru_msgrcv
messages received
int32_t ru_minflt
page reclaims - total vmfaults
int32_t ru_ixrss
integral shared memory size
int32_t ru_nsignals
signals received
int32_t ru_nvcsw
voluntary context switches
int32_t ru_majflt
page faults
int32_t ru_msgsnd
messages sent
int32_t ru_inblock
block input operations
GEM5_ALIGNED(8) int64_t st_size
int32_t tv_nsec
nanoseconds
int32_t tv_usec
microseconds
int32_t tms_stime
system time
int32_t tms_cutime
user time of children
int32_t tms_utime
user time
int32_t tms_cstime
system time of children
Limit struct for getrlimit/setrlimit.
uint64_t rlim_cur
soft limit
uint64_t rlim_max
hard limit
int64_t ru_idrss
integral unshared data "
int64_t ru_msgrcv
messages received
int64_t ru_msgsnd
messages sent
int64_t ru_majflt
page faults
int64_t ru_minflt
page reclaims - total vmfaults
int64_t ru_nivcsw
involuntary "
int64_t ru_inblock
block input operations
int64_t ru_ixrss
integral shared memory size
int64_t ru_nvcsw
voluntary context switches
int64_t ru_nsignals
signals received
int64_t ru_isrss
integral unshared stack "
int64_t ru_oublock
block output operations
int64_t tv_nsec
nanoseconds
int64_t tv_usec
microseconds
int64_t tms_cstime
system time of children
int64_t tms_cutime
user time of children
int64_t tms_stime
system time
int64_t tms_utime
user time