gem5 v24.1.0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
gem5::RiscvLinux Class Reference

#include <linux.hh>

Inheritance diagram for gem5::RiscvLinux:
gem5::Linux gem5::OperatingSystem gem5::RiscvLinux32 gem5::RiscvLinux64

Classes

struct  cpumask
 
struct  riscv_hwprobe
 

Public Types

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
 

Public Member Functions

 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

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
 

Static Public Attributes

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).
 

Additional Inherited Members

- 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)
 

Detailed Description

Definition at line 42 of file linux.hh.

Member Typedef Documentation

◆ cpumask_t

Member Enumeration Documentation

◆ RiscvHwprobeKey

Enumerator
Mvendorid 
Marchid 
Mimpid 
BaseBehavior 
IMAExt0 
Cpuperf0 
ZicbozBlockSize 
HighestVirtAddress 
TimeCsrFreq 
MisalignedScalarPerf 

Definition at line 47 of file linux.hh.

Member Function Documentation

◆ BitUnion64()

gem5::RiscvLinux::BitUnion64 ( key_base_behavior_t  )

◆ EndBitUnion() [1/2]

gem5::RiscvLinux::EndBitUnion ( key_base_behavior_t  )

◆ EndBitUnion() [2/2]

gem5::RiscvLinux::EndBitUnion ( key_ima_ext_0_t  )
inline

Definition at line 118 of file linux.hh.

Member Data Documentation

◆ byteOrder

const ByteOrder gem5::RiscvLinux::byteOrder = ByteOrder::little
static

Definition at line 45 of file linux.hh.

◆ C

Bitfield<1> gem5::RiscvLinux::C

Definition at line 116 of file linux.hh.

◆ FD

Bitfield<0> gem5::RiscvLinux::FD

Definition at line 117 of file linux.hh.

◆ V

Bitfield<2> gem5::RiscvLinux::V

Definition at line 115 of file linux.hh.

◆ ZACAS

Bitfield<35> gem5::RiscvLinux::ZACAS

Definition at line 83 of file linux.hh.

◆ ZBA

Bitfield<3> gem5::RiscvLinux::ZBA

Definition at line 114 of file linux.hh.

◆ ZBB

Bitfield<4> gem5::RiscvLinux::ZBB

Definition at line 113 of file linux.hh.

◆ ZBC

Bitfield<7> gem5::RiscvLinux::ZBC

Definition at line 110 of file linux.hh.

◆ ZBKB

Bitfield<8> gem5::RiscvLinux::ZBKB

Definition at line 109 of file linux.hh.

◆ ZBKC

Bitfield<9> gem5::RiscvLinux::ZBKC

Definition at line 108 of file linux.hh.

◆ ZBKX

Bitfield<10> gem5::RiscvLinux::ZBKX

Definition at line 107 of file linux.hh.

◆ ZBS

Bitfield<5> gem5::RiscvLinux::ZBS

Definition at line 112 of file linux.hh.

◆ ZCA

Bitfield<44> gem5::RiscvLinux::ZCA

Definition at line 74 of file linux.hh.

◆ ZCB

Bitfield<45> gem5::RiscvLinux::ZCB

Definition at line 73 of file linux.hh.

◆ ZCD

Bitfield<46> gem5::RiscvLinux::ZCD

Definition at line 72 of file linux.hh.

◆ ZCF

Bitfield<47> gem5::RiscvLinux::ZCF

Definition at line 71 of file linux.hh.

◆ ZCMOP

Bitfield<48> gem5::RiscvLinux::ZCMOP

Definition at line 70 of file linux.hh.

◆ ZFA

Bitfield<33> gem5::RiscvLinux::ZFA

Definition at line 85 of file linux.hh.

◆ ZFH

Bitfield<28> gem5::RiscvLinux::ZFH

Definition at line 90 of file linux.hh.

◆ ZFHMIN

Bitfield<29> gem5::RiscvLinux::ZFHMIN

Definition at line 89 of file linux.hh.

◆ ZICBOZ

Bitfield<6> gem5::RiscvLinux::ZICBOZ

Definition at line 111 of file linux.hh.

◆ ZICOND

Bitfield<36> gem5::RiscvLinux::ZICOND

Definition at line 82 of file linux.hh.

◆ ZIHINTNTL

Bitfield<30> gem5::RiscvLinux::ZIHINTNTL

Definition at line 88 of file linux.hh.

◆ ZIHINTPAUSE

Bitfield<37> gem5::RiscvLinux::ZIHINTPAUSE

Definition at line 81 of file linux.hh.

◆ ZIMOP

Bitfield<43> gem5::RiscvLinux::ZIMOP

Definition at line 75 of file linux.hh.

◆ ZKND

Bitfield<11> gem5::RiscvLinux::ZKND

Definition at line 106 of file linux.hh.

◆ ZKNE

Bitfield<12> gem5::RiscvLinux::ZKNE

Definition at line 105 of file linux.hh.

◆ ZKNH

Bitfield<13> gem5::RiscvLinux::ZKNH

Definition at line 104 of file linux.hh.

◆ ZKSED

Bitfield<14> gem5::RiscvLinux::ZKSED

Definition at line 103 of file linux.hh.

◆ ZKSH

Bitfield<15> gem5::RiscvLinux::ZKSH

Definition at line 102 of file linux.hh.

◆ ZKT

Bitfield<16> gem5::RiscvLinux::ZKT

Definition at line 101 of file linux.hh.

◆ ZTSO

Bitfield<34> gem5::RiscvLinux::ZTSO

Definition at line 84 of file linux.hh.

◆ ZVBB

Bitfield<17> gem5::RiscvLinux::ZVBB

Definition at line 100 of file linux.hh.

◆ ZVBC

Bitfield<18> gem5::RiscvLinux::ZVBC

Definition at line 99 of file linux.hh.

◆ ZVE32F

Bitfield<39> gem5::RiscvLinux::ZVE32F

Definition at line 79 of file linux.hh.

◆ ZVE32X

Bitfield<38> gem5::RiscvLinux::ZVE32X

Definition at line 80 of file linux.hh.

◆ ZVE64D

Bitfield<42> gem5::RiscvLinux::ZVE64D

Definition at line 76 of file linux.hh.

◆ ZVE64F

Bitfield<41> gem5::RiscvLinux::ZVE64F

Definition at line 77 of file linux.hh.

◆ ZVE64X

Bitfield<40> gem5::RiscvLinux::ZVE64X

Definition at line 78 of file linux.hh.

◆ ZVFH

Bitfield<31> gem5::RiscvLinux::ZVFH

Definition at line 87 of file linux.hh.

◆ ZVFHMIN

Bitfield<32> gem5::RiscvLinux::ZVFHMIN

Definition at line 86 of file linux.hh.

◆ ZVKB

Bitfield<19> gem5::RiscvLinux::ZVKB

Definition at line 98 of file linux.hh.

◆ ZVKG

Bitfield<20> gem5::RiscvLinux::ZVKG

Definition at line 97 of file linux.hh.

◆ ZVKNED

Bitfield<21> gem5::RiscvLinux::ZVKNED

Definition at line 96 of file linux.hh.

◆ ZVKNHA

Bitfield<22> gem5::RiscvLinux::ZVKNHA

Definition at line 95 of file linux.hh.

◆ ZVKNHB

Bitfield<24> gem5::RiscvLinux::ZVKNHB

Definition at line 94 of file linux.hh.

◆ ZVKSED

Bitfield<25> gem5::RiscvLinux::ZVKSED

Definition at line 93 of file linux.hh.

◆ ZVKSH

Bitfield<26> gem5::RiscvLinux::ZVKSH

Definition at line 92 of file linux.hh.

◆ ZVKT

Bitfield<27> gem5::RiscvLinux::ZVKT

Definition at line 91 of file linux.hh.


The documentation for this class was generated from the following file:

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