gem5 v24.0.0.0
|
This class encapsulates the types, structures, constants, functions, and syscall-number mappings specific to the Alpha Linux syscall interface. More...
#include <linux.hh>
Classes | |
struct | fd_set |
struct | rlimit |
Limit struct for getrlimit/setrlimit. More... | |
struct | rusage |
struct | tgt_iovec |
struct | tgt_stat |
Stat buffer. More... | |
struct | tgt_stat64 |
struct | timespec |
For clock_gettime(). More... | |
struct | timeval |
For gettimeofday(). More... | |
struct | tms |
For times(). More... | |
struct | utsname |
Interface struct for uname(). More... | |
Public Types | |
typedef uint64_t | size_t |
Basic Linux types. | |
typedef uint64_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 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 | _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 | random |
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). | |
This class encapsulates the types, structures, constants, functions, and syscall-number mappings specific to the Alpha Linux syscall interface.
typedef int64_t gem5::Linux::clock_t |
typedef uint32_t gem5::Linux::gid_t |
typedef uint64_t gem5::Linux::off_t |
typedef uint64_t gem5::Linux::size_t |
typedef int64_t gem5::Linux::time_t |
typedef uint32_t gem5::Linux::uid_t |
|
static |
Definition at line 116 of file linux.cc.
References gem5::csprintf(), gem5::ThreadContext::getSystemPtr(), gem5::System::Threads::size(), and gem5::System::threads.
Referenced by openSpecialFile().
|
static |
Definition at line 122 of file linux.cc.
References gem5::curTick(), DPRINTFR, gem5::ThreadContext::getCpuPtr(), gem5::ArmISA::i, gem5::Named::name(), random, and gem5::Random::random().
Referenced by openSpecialFile().
|
static |
Definition at line 103 of file linux.cc.
References gem5::csprintf(), and gem5::Process::tgtCwd.
Referenced by openSpecialFile().
|
inlinestatic |
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.
Definition at line 200 of file linux.hh.
References TGT_FIONREAD, TGT_TCGETA, TGT_TCGETS, and TGT_TCSETAW.
|
static |
Definition at line 51 of file linux.cc.
References cpuOnline(), gem5::curTick(), data, devRandom(), DPRINTFR, etcPasswd(), gem5::ArmISA::f, gem5::ArmISA::fd, gem5::ThreadContext::getCpuPtr(), gem5::Named::name(), procMeminfo(), procSelfMaps(), and warn.
|
static |
Definition at line 95 of file linux.cc.
References gem5::csprintf(), gem5::SEWorkload::freeMemSize(), gem5::SEWorkload::memSize(), and gem5::Process::seWorkload.
Referenced by openSpecialFile().
|
static |
Definition at line 110 of file linux.cc.
References gem5::Process::memState.
Referenced by openSpecialFile().
|
static |
|
static |
|
static |
Definition at line 259 of file linux.hh.
Referenced by devRandom().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 319 of file linux.hh.
Referenced by gem5::ArmLinux::archClone(), gem5::PowerLinux::archClone(), gem5::RiscvLinux32::archClone(), gem5::RiscvLinux64::archClone(), and gem5::X86Linux::archClone().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 192 of file linux.hh.
Referenced by isTtyReq().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 190 of file linux.hh.
Referenced by isTtyReq().
|
static |
|
static |
Definition at line 191 of file linux.hh.
Referenced by isTtyReq().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |