|
gem5 [DEVELOP-FOR-25.0]
|
#include <linux.hh>
Classes | |
| struct | rlimit |
| Limit struct for getrlimit/setrlimit. More... | |
| struct | tgt_fsid_t |
| struct | tgt_stat |
| struct | tgt_statfs |
| struct | tgt_sysinfo |
| struct | timespec |
Public Types | |
| typedef int64_t | time_t |
| typedef uint32_t | size_t |
| typedef int64_t | off_t |
Public Types inherited from gem5::RiscvLinux | |
| enum | RiscvHwprobeKey { Mvendorid , Marchid , Mimpid , BaseBehavior , IMAExt0 , Cpuperf0 , ZicbozBlockSize , HighestVirtAddress , TimeCsrFreq , MisalignedScalarPerf } |
| typedef struct gem5::RiscvLinux::cpumask | cpumask_t |
Public Types inherited from gem5::Linux | |
| typedef uint64_t | size_t |
| Basic Linux types. | |
| typedef int64_t | off_t |
| typedef int64_t | time_t |
| typedef int64_t | clock_t |
| typedef uint32_t | uid_t |
| typedef uint32_t | gid_t |
Public Types inherited from gem5::OperatingSystem | |
| typedef void | tgt_stat |
| Stat buffer. | |
| typedef void | tgt_stat64 |
Static Public Member Functions | |
| static void | archClone (uint64_t flags, Process *pp, Process *cp, ThreadContext *ptc, ThreadContext *ctc, uint64_t stack, uint64_t tls) |
Static Public Member Functions inherited from gem5::Linux | |
| static bool | isTtyReq (unsigned req) |
| Return true for the ioctl codes for which we return ENOTTY without printing a warning, since we know that ENOTTY is the correct thing to return (and not just a sign that we don't recognize the ioctl code. | |
| static int | openSpecialFile (std::string path, Process *process, ThreadContext *tc) |
| static std::string | procMeminfo (Process *process, ThreadContext *tc) |
| static std::string | etcPasswd (Process *process, ThreadContext *tc) |
| static std::string | procSelfMaps (Process *process, ThreadContext *tc) |
| static std::string | cpuOnline (Process *process, ThreadContext *tc) |
| static std::string | devRandom (Process *process, ThreadContext *tc) |
Static Public Member Functions inherited from gem5::OperatingSystem | |
| static int | openSpecialFile (std::string path, Process *process, ThreadContext *tc) |
Static Public Attributes | |
| static const int | TGT_SIGHUP = 1 |
| static const int | TGT_SIGINT = 2 |
| static const int | TGT_SIGQUIT = 3 |
| static const int | TGT_SIGILL = 4 |
| static const int | TGT_SIGTRAP = 5 |
| static const int | TGT_SIGABRT = 6 |
| static const int | TGT_SIGIOT = 6 |
| static const int | TGT_SIGEMT = 7 |
| static const int | TGT_SIGFPE = 8 |
| static const int | TGT_SIGKILL = 9 |
| static const int | TGT_SIGBUS = 10 |
| static const int | TGT_SIGSEGV = 11 |
| static const int | TGT_SIGSYS = 12 |
| static const int | TGT_SIGPIPE = 13 |
| static const int | TGT_SIGALRM = 14 |
| static const int | TGT_SIGTERM = 15 |
| static const int | TGT_SIGURG = 16 |
| static const int | TGT_SIGSTOP = 17 |
| static const int | TGT_SIGTSTP = 18 |
| static const int | TGT_SIGCONT = 19 |
| static const int | TGT_SIGCHLD = 20 |
| static const int | TGT_SIGCLD = 20 |
| static const int | TGT_SIGTTIN = 21 |
| static const int | TGT_SIGTTOU = 22 |
| static const int | TGT_SIGPOLL = 23 |
| static const int | TGT_SIGIO = 23 |
| static const int | TGT_SIGXCPU = 24 |
| static const int | TGT_SIGXFSZ = 25 |
| static const int | TGT_SIGVTALRM = 26 |
| static const int | TGT_SIGPROF = 27 |
| static const int | TGT_SIGWINCH = 28 |
| static const int | TGT_SIGLOST = 29 |
| static const int | TGT_SIGPWR = 29 |
| static const int | TGT_SIGUSR1 = 30 |
| static const int | TGT_SIGUSR2 = 31 |
| static constexpr int | TGT_O_RDONLY = 0x000000 |
| open(2) flag values. | |
| static constexpr int | TGT_O_WRONLY = 0x000001 |
| O_WRONLY. | |
| static constexpr int | TGT_O_RDWR = 0x000002 |
| O_RDWR. | |
| static constexpr int | TGT_O_CREAT = 0x000200 |
| O_CREAT. | |
| static constexpr int | TGT_O_EXCL = 0x000800 |
| O_EXCL. | |
| static constexpr int | TGT_O_NOCTTY = 0x008000 |
| O_NOCTTY. | |
| static constexpr int | TGT_O_TRUNC = 0x000400 |
| O_TRUNC. | |
| static constexpr int | TGT_O_APPEND = 0x000008 |
| O_APPEND. | |
| static constexpr int | TGT_O_NONBLOCK = 0x004000 |
| O_NONBLOCK. | |
| static constexpr int | TGT_O_SYNC = 0x002000 |
| O_SYNC. | |
| static constexpr int | TGT_FSYNC = 0x002000 |
| FSYNC. | |
| static constexpr int | TGT_FASYNC = 0x000040 |
| FASYNC. | |
| static constexpr int | TGT_O_DSYNC = 0x010000 |
| O_DSYNC. | |
| static constexpr int | TGT_O_CLOEXEC = 0x040000 |
| O_CLOEXEC. | |
| static constexpr int | TGT_O_NOINHERIT = 0x040000 |
| O_NOINHERIT. | |
| static constexpr int | TGT_O_DIRECT = 0x080000 |
| O_DIRECT. | |
| static constexpr int | TGT_O_NOFOLLOW = 0x100000 |
| O_NOFOLLOW. | |
| static constexpr int | TGT_O_DIRECTORY = 0x200000 |
| O_DIRECTORY. | |
| static constexpr int | TGT_O_LARGEFILE = 0x020000 |
| O_LARGEFILE. | |
| static constexpr int | TGT_O_NOATIME = 0x800000 |
| O_NOATIME. | |
| static constexpr int | TGT_O_PATH = 0x400000 |
| O_PATH. | |
| static constexpr unsigned | TGT_MAP_SHARED = 0x0001 |
| static constexpr unsigned | TGT_MAP_PRIVATE = 0x0002 |
| static constexpr unsigned | TGT_MAP_FIXED = 0x0010 |
| static constexpr unsigned | TGT_MAP_ANONYMOUS = 0x0020 |
| static constexpr unsigned | TGT_MAP_POPULATE = 0x1000 |
| static constexpr unsigned | TGT_MREMAP_FIXED = 0x0020 |
Static Public Attributes inherited from gem5::RiscvLinux | |
| static const ByteOrder | byteOrder = ByteOrder::little |
Static Public Attributes inherited from gem5::Linux | |
| static const int | _SYS_NMLN = 65 |
| Length of strings in struct utsname (plus 1 for null char). | |
| static const int | M5_SC_CLK_TCK = 100 |
| Clock ticks per second, for times(). | |
| static const unsigned | TGT_TCGETS = 0x5401 |
| ioctl() command codes. | |
| static const unsigned | TGT_TCGETA = 0x5405 |
| static const unsigned | TGT_TCSETAW = 0x5407 |
| static const unsigned | TGT_FIONREAD = 0x541B |
| static const unsigned | TGT_RLIMIT_CPU = 0 |
| Resource constants for getrlimit(). | |
| static const unsigned | TGT_RLIMIT_FSIZE = 1 |
| static const unsigned | TGT_RLIMIT_DATA = 2 |
| static const unsigned | TGT_RLIMIT_STACK = 3 |
| static const unsigned | TGT_RLIMIT_CORE = 4 |
| static const unsigned | TGT_RLIMIT_RSS = 5 |
| static const unsigned | TGT_RLIMIT_NPROC = 6 |
| static const unsigned | TGT_RLIMIT_NOFILE = 7 |
| static const unsigned | TGT_RLIMIT_MEMLOCK = 8 |
| static const unsigned | TGT_RLIMIT_AS = 9 |
| static const unsigned | TGT_RLIMIT_LOCKS = 10 |
| static const unsigned | TGT_RLIMIT_SIGPENDING = 11 |
| static const unsigned | TGT_RLIMIT_MSGQUEUE = 12 |
| static const unsigned | TGT_RLIMIT_NICE = 13 |
| static const unsigned | TGT_RLIMIT_RTPRIO = 14 |
| static const unsigned | TGT_RLIMIT_RTTIME = 15 |
| static const unsigned | TGT_RLIM_NLIMITS = 16 |
| static const int | TGT_RUSAGE_SELF = 0 |
| For getrusage(). | |
| static const int | TGT_RUSAGE_CHILDREN = -1 |
| static const int | TGT_RUSAGE_BOTH = -2 |
| static Random::RandomPtr | random = Random::genRandom() |
| static const unsigned | TGT_FUTEX_WAIT = 0 |
| static const unsigned | TGT_FUTEX_WAKE = 1 |
| static const unsigned | TGT_FUTEX_REQUEUE = 3 |
| static const unsigned | TGT_FUTEX_CMP_REQUEUE = 4 |
| static const unsigned | TGT_FUTEX_WAKE_OP = 5 |
| static const unsigned | TGT_FUTEX_WAIT_BITSET = 9 |
| static const unsigned | TGT_FUTEX_WAKE_BITSET = 10 |
| static const unsigned | TGT_EAGAIN = 11 |
| static const unsigned | TGT_EWOULDBLOCK = TGT_EAGAIN |
| static const unsigned | TGT_FUTEX_PRIVATE_FLAG = 128 |
| static const unsigned | TGT_FUTEX_CLOCK_REALTIME_FLAG = 256 |
| static const unsigned | TGT_FUTEX_OP_SET = 0 |
| static const unsigned | TGT_FUTEX_OP_ADD = 1 |
| static const unsigned | TGT_FUTEX_OP_OR = 2 |
| static const unsigned | TGT_FUTEX_OP_ANDN = 3 |
| static const unsigned | TGT_FUTEX_OP_XOR = 4 |
| static const unsigned | TGT_FUTEX_OP_ARG_SHIFT = 8 |
| static const unsigned | TGT_FUTEX_OP_CMP_EQ = 0 |
| static const unsigned | TGT_FUTEX_OP_CMP_NE = 1 |
| static const unsigned | TGT_FUTEX_OP_CMP_LT = 2 |
| static const unsigned | TGT_FUTEX_OP_CMP_LE = 3 |
| static const unsigned | TGT_FUTEX_OP_CMP_GT = 4 |
| static const unsigned | TGT_FUTEX_OP_CMP_GE = 5 |
| static const int | TGT_AT_FDCWD = -100 |
| static const int | TGT_AT_REMOVEDIR = 0x200 |
| static const int | TGT_AT_SYMLINK_FOLLOW = 0x400 |
| static const int | TGT_AT_NO_AUTOMOUNT = 0x800 |
| static const int | TGT_AT_EMPTY_PATH = 0x1000 |
| static const unsigned | TGT_MREMAP_MAYMOVE = 0x1 |
| static const unsigned | TGT_MREMAP_FIXED = 0x2 |
| static const unsigned | TGT_CLONE_VM = 0x00000100 |
| static const unsigned | TGT_CLONE_FS = 0x00000200 |
| static const unsigned | TGT_CLONE_FILES = 0x00000400 |
| static const unsigned | TGT_CLONE_SIGHAND = 0x00000800 |
| static const unsigned | TGT_CLONE_PIDFD = 0x00001000 |
| static const unsigned | TGT_CLONE_PTRACE = 0x00002000 |
| static const unsigned | TGT_CLONE_VFORK = 0x00004000 |
| static const unsigned | TGT_CLONE_PARENT = 0x00008000 |
| static const unsigned | TGT_CLONE_THREAD = 0x00010000 |
| static const unsigned | TGT_CLONE_NEWNS = 0x00020000 |
| static const unsigned | TGT_CLONE_SYSVSEM = 0x00040000 |
| static const unsigned | TGT_CLONE_SETTLS = 0x00080000 |
| static const unsigned | TGT_CLONE_PARENT_SETTID = 0x00100000 |
| static const unsigned | TGT_CLONE_CHILD_CLEARTID = 0x00200000 |
| static const unsigned | TGT_CLONE_DETACHED = 0x00400000 |
| static const unsigned | TGT_CLONE_UNTRACED = 0x00800000 |
| static const unsigned | TGT_CLONE_CHILD_SETTID = 0x01000000 |
| static const unsigned | TGT_CLONE_NEWUTS = 0x04000000 |
| static const unsigned | TGT_CLONE_NEWIPC = 0x08000000 |
| static const unsigned | TGT_CLONE_NEWUSER = 0x10000000 |
| static const unsigned | TGT_CLONE_NEWPID = 0x20000000 |
| static const unsigned | TGT_CLONE_NEWNET = 0x40000000 |
| static const unsigned | TGT_CLONE_IO = 0x80000000 |
| static const unsigned | TGT_WNOHANG = 0x00000001 |
| static const unsigned | TGT_WUNTRACED = 0x00000002 |
| static const unsigned | TGT_WSTOPPED = TGT_WUNTRACED |
| static const unsigned | TGT_WEXITED = 0x00000004 |
| static const unsigned | TGT_WCONTINUED = 0x00000008 |
| static const unsigned | TGT_WNOWAIT = 0x01000000 |
Static Public Attributes inherited from gem5::OperatingSystem | |
| static const int | _SYS_NMLN = 65 |
| Length of strings in struct utsname (plus 1 for null char). | |
Static Public Attributes inherited from gem5::OpenFlagTable< RiscvLinux32 > | |
| static const std::map< int, int > | openFlagTable |
Additional Inherited Members | |
Public Member Functions inherited from gem5::RiscvLinux | |
| BitUnion64 (key_base_behavior_t) Bitfield< 0 > ima | |
| EndBitUnion (key_base_behavior_t) BitUnion64(key_ima_ext_0_t) Bitfield< 49 > ZAWRS | |
| EndBitUnion (key_ima_ext_0_t) enum MisalignedScalarPerf | |
Public Attributes inherited from gem5::RiscvLinux | |
| Bitfield< 48 > | ZCMOP |
| Bitfield< 47 > | ZCF |
| Bitfield< 46 > | ZCD |
| Bitfield< 45 > | ZCB |
| Bitfield< 44 > | ZCA |
| Bitfield< 43 > | ZIMOP |
| Bitfield< 42 > | ZVE64D |
| Bitfield< 41 > | ZVE64F |
| Bitfield< 40 > | ZVE64X |
| Bitfield< 39 > | ZVE32F |
| Bitfield< 38 > | ZVE32X |
| Bitfield< 37 > | ZIHINTPAUSE |
| Bitfield< 36 > | ZICOND |
| Bitfield< 35 > | ZACAS |
| Bitfield< 34 > | ZTSO |
| Bitfield< 33 > | ZFA |
| Bitfield< 32 > | ZVFHMIN |
| Bitfield< 31 > | ZVFH |
| Bitfield< 30 > | ZIHINTNTL |
| Bitfield< 29 > | ZFHMIN |
| Bitfield< 28 > | ZFH |
| Bitfield< 27 > | ZVKT |
| Bitfield< 26 > | ZVKSH |
| Bitfield< 25 > | ZVKSED |
| Bitfield< 24 > | ZVKNHB |
| Bitfield< 22 > | ZVKNHA |
| Bitfield< 21 > | ZVKNED |
| Bitfield< 20 > | ZVKG |
| Bitfield< 19 > | ZVKB |
| Bitfield< 18 > | ZVBC |
| Bitfield< 17 > | ZVBB |
| Bitfield< 16 > | ZKT |
| Bitfield< 15 > | ZKSH |
| Bitfield< 14 > | ZKSED |
| Bitfield< 13 > | ZKNH |
| Bitfield< 12 > | ZKNE |
| Bitfield< 11 > | ZKND |
| Bitfield< 10 > | ZBKX |
| Bitfield< 9 > | ZBKC |
| Bitfield< 8 > | ZBKB |
| Bitfield< 7 > | ZBC |
| Bitfield< 6 > | ZICBOZ |
| Bitfield< 5 > | ZBS |
| Bitfield< 4 > | ZBB |
| Bitfield< 3 > | ZBA |
| Bitfield< 2 > | V |
| Bitfield< 1 > | C |
| Bitfield< 0 > | FD |
| typedef int64_t gem5::RiscvLinux32::off_t |
| typedef uint32_t gem5::RiscvLinux32::size_t |
| typedef int64_t gem5::RiscvLinux32::time_t |
|
inlinestatic |
Definition at line 483 of file linux.hh.
References gem5::BaseISA::copyRegsFrom(), gem5::ThreadContext::getIsaPtr(), gem5::MipsISA::ptc, gem5::ThreadContext::setReg(), gem5::sext(), gem5::X86ISA::stack, gem5::RiscvISA::StackPointerReg, gem5::Linux::TGT_CLONE_SETTLS, and gem5::RiscvISA::ThreadPointerReg.
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |