gem5  v20.1.0.0
Classes | Public Types | Static Public Member Functions | Static Public Attributes | List of all members
RiscvLinux64 Class Reference

#include <linux.hh>

Inheritance diagram for RiscvLinux64:
RiscvLinux Linux OperatingSystem

Classes

struct  tgt_fsid_t
 
struct  tgt_stat64
 
struct  tgt_statfs
 
struct  tgt_sysinfo
 
struct  timespec
 

Public Types

typedef int64_t time_t
 
typedef uint64_t dev_t
 
typedef uint64_t ino_t
 
typedef uint32_t mode_t
 
typedef uint32_t nlink_t
 
typedef uint32_t uid_t
 
typedef uint32_t gid_t
 
typedef int64_t off_t
 
typedef uint64_t blksize_t
 
typedef uint64_t blkcnt_t
 
- Public Types inherited from Linux
typedef uint64_t size_t
 Basic Linux types. More...
 
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
 
using PrintkVarArgs = GuestABI::VarArgs< Addr, int32_t, uint32_t, int64_t, uint64_t >
 
- Public Types inherited from OperatingSystem
typedef void tgt_stat
 Stat buffer. More...
 
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 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. More...
 
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 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 SyscallFlagTransTable openFlagTable []
 This table maps the target open() flags to the corresponding host open() flags. More...
 
static const int NUM_OPEN_FLAGS
 Number of entries in openFlagTable[]. More...
 
static const int TGT_O_RDONLY = 0x000000
 open(2) flag values. More...
 
static const int TGT_O_WRONLY = 0x000001
 O_WRONLY. More...
 
static const int TGT_O_RDWR = 0x000002
 O_RDWR. More...
 
static const int TGT_O_CREAT = 0x000040
 O_CREAT. More...
 
static const int TGT_O_EXCL = 0x000080
 O_EXCL. More...
 
static const int TGT_O_NOCTTY = 0x000100
 O_NOCTTY. More...
 
static const int TGT_O_TRUNC = 0x000200
 O_TRUNC. More...
 
static const int TGT_O_APPEND = 0x000400
 O_APPEND. More...
 
static const int TGT_O_NONBLOCK = 0x000800
 O_NONBLOCK. More...
 
static const int TGT_O_SYNC = 0x001000
 O_SYNC. More...
 
static const int TGT_FSYNC = 0x001000
 FSYNC. More...
 
static const int TGT_FASYNC = 0x008000
 FASYNC. More...
 
static const int TGT_O_DSYNC = 0x010000
 O_DSYNC. More...
 
static const int TGT_O_CLOEXEC = 0x040000
 O_CLOEXEC. More...
 
static const int TGT_O_NOINHERIT = 0x040000
 O_NOINHERIT. More...
 
static const int TGT_O_DIRECT = 0x080000
 O_DIRECT. More...
 
static const int TGT_O_NOFOLLOW = 0x100000
 O_NOFOLLOW. More...
 
static const int TGT_O_DIRECTORY = 0x200000
 O_DIRECTORY. More...
 
static const int TGT_O_LARGEFILE = 0x020000
 O_LARGEFILE. More...
 
static const int TGT_O_NOATIME = 0x800000
 O_NOATIME. More...
 
static const int TGT_O_PATH = 0x400000
 O_PATH. More...
 
static const unsigned TGT_MAP_SHARED = 0x0001
 
static const unsigned TGT_MAP_PRIVATE = 0x0002
 
static const unsigned TGT_MAP_FIXED = 0x0010
 
static const unsigned TGT_MAP_ANONYMOUS = 0x0020
 
static const unsigned TGT_MAP_POPULATE = 0x1000
 
static const unsigned TGT_MREMAP_FIXED = 0x0020
 
static const unsigned NUM_MMAP_FLAGS
 
- Static Public Attributes inherited from RiscvLinux
static const ByteOrder byteOrder = ByteOrder::little
 
- Static Public Attributes inherited from Linux
static const int _SYS_NMLN = 65
 Length of strings in struct utsname (plus 1 for null char). More...
 
static const int M5_SC_CLK_TCK = 100
 Clock ticks per second, for times(). More...
 
static const unsigned TGT_TCGETS = 0x5401
 ioctl() command codes. More...
 
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(). More...
 
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(). More...
 
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 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_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 OperatingSystem
static const int _SYS_NMLN = 65
 Length of strings in struct utsname (plus 1 for null char). More...
 

Detailed Description

Definition at line 41 of file linux.hh.

Member Typedef Documentation

◆ blkcnt_t

typedef uint64_t RiscvLinux64::blkcnt_t

Definition at line 133 of file linux.hh.

◆ blksize_t

typedef uint64_t RiscvLinux64::blksize_t

Definition at line 132 of file linux.hh.

◆ dev_t

typedef uint64_t RiscvLinux64::dev_t

Definition at line 125 of file linux.hh.

◆ gid_t

typedef uint32_t RiscvLinux64::gid_t

Definition at line 130 of file linux.hh.

◆ ino_t

typedef uint64_t RiscvLinux64::ino_t

Definition at line 126 of file linux.hh.

◆ mode_t

typedef uint32_t RiscvLinux64::mode_t

Definition at line 127 of file linux.hh.

◆ nlink_t

typedef uint32_t RiscvLinux64::nlink_t

Definition at line 128 of file linux.hh.

◆ off_t

typedef int64_t RiscvLinux64::off_t

Definition at line 131 of file linux.hh.

◆ time_t

typedef int64_t RiscvLinux64::time_t

Definition at line 124 of file linux.hh.

◆ uid_t

typedef uint32_t RiscvLinux64::uid_t

Definition at line 129 of file linux.hh.

Member Function Documentation

◆ archClone()

static void RiscvLinux64::archClone ( uint64_t  flags,
Process pp,
Process cp,
ThreadContext ptc,
ThreadContext ctc,
uint64_t  stack,
uint64_t  tls 
)
inlinestatic

Member Data Documentation

◆ NUM_MMAP_FLAGS

const unsigned RiscvLinux64::NUM_MMAP_FLAGS
static

Definition at line 122 of file linux.hh.

◆ NUM_OPEN_FLAGS

const int RiscvLinux64::NUM_OPEN_FLAGS
static

Number of entries in openFlagTable[].

Definition at line 85 of file linux.hh.

◆ openFlagTable

SyscallFlagTransTable RiscvLinux64::openFlagTable[]
static

This table maps the target open() flags to the corresponding host open() flags.

Definition at line 82 of file linux.hh.

◆ TGT_FASYNC

const int RiscvLinux64::TGT_FASYNC = 0x008000
static

FASYNC.

Definition at line 100 of file linux.hh.

◆ TGT_FSYNC

const int RiscvLinux64::TGT_FSYNC = 0x001000
static

FSYNC.

Definition at line 99 of file linux.hh.

◆ TGT_MAP_ANONYMOUS

const unsigned RiscvLinux64::TGT_MAP_ANONYMOUS = 0x0020
static

Definition at line 118 of file linux.hh.

◆ TGT_MAP_FIXED

const unsigned RiscvLinux64::TGT_MAP_FIXED = 0x0010
static

Definition at line 117 of file linux.hh.

◆ TGT_MAP_POPULATE

const unsigned RiscvLinux64::TGT_MAP_POPULATE = 0x1000
static

Definition at line 119 of file linux.hh.

◆ TGT_MAP_PRIVATE

const unsigned RiscvLinux64::TGT_MAP_PRIVATE = 0x0002
static

Definition at line 116 of file linux.hh.

◆ TGT_MAP_SHARED

const unsigned RiscvLinux64::TGT_MAP_SHARED = 0x0001
static

Definition at line 115 of file linux.hh.

◆ TGT_MREMAP_FIXED

const unsigned RiscvLinux64::TGT_MREMAP_FIXED = 0x0020
static

Definition at line 120 of file linux.hh.

◆ TGT_O_APPEND

const int RiscvLinux64::TGT_O_APPEND = 0x000400
static

O_APPEND.

Definition at line 96 of file linux.hh.

◆ TGT_O_CLOEXEC

const int RiscvLinux64::TGT_O_CLOEXEC = 0x040000
static

O_CLOEXEC.

Definition at line 103 of file linux.hh.

◆ TGT_O_CREAT

const int RiscvLinux64::TGT_O_CREAT = 0x000040
static

O_CREAT.

Definition at line 92 of file linux.hh.

◆ TGT_O_DIRECT

const int RiscvLinux64::TGT_O_DIRECT = 0x080000
static

O_DIRECT.

Definition at line 105 of file linux.hh.

◆ TGT_O_DIRECTORY

const int RiscvLinux64::TGT_O_DIRECTORY = 0x200000
static

O_DIRECTORY.

Definition at line 107 of file linux.hh.

◆ TGT_O_DSYNC

const int RiscvLinux64::TGT_O_DSYNC = 0x010000
static

O_DSYNC.

Definition at line 102 of file linux.hh.

◆ TGT_O_EXCL

const int RiscvLinux64::TGT_O_EXCL = 0x000080
static

O_EXCL.

Definition at line 93 of file linux.hh.

◆ TGT_O_LARGEFILE

const int RiscvLinux64::TGT_O_LARGEFILE = 0x020000
static

O_LARGEFILE.

Definition at line 109 of file linux.hh.

◆ TGT_O_NOATIME

const int RiscvLinux64::TGT_O_NOATIME = 0x800000
static

O_NOATIME.

Definition at line 110 of file linux.hh.

◆ TGT_O_NOCTTY

const int RiscvLinux64::TGT_O_NOCTTY = 0x000100
static

O_NOCTTY.

Definition at line 94 of file linux.hh.

◆ TGT_O_NOFOLLOW

const int RiscvLinux64::TGT_O_NOFOLLOW = 0x100000
static

O_NOFOLLOW.

Definition at line 106 of file linux.hh.

◆ TGT_O_NOINHERIT

const int RiscvLinux64::TGT_O_NOINHERIT = 0x040000
static

O_NOINHERIT.

Definition at line 104 of file linux.hh.

◆ TGT_O_NONBLOCK

const int RiscvLinux64::TGT_O_NONBLOCK = 0x000800
static

O_NONBLOCK.

Definition at line 97 of file linux.hh.

◆ TGT_O_PATH

const int RiscvLinux64::TGT_O_PATH = 0x400000
static

O_PATH.

Definition at line 111 of file linux.hh.

◆ TGT_O_RDONLY

const int RiscvLinux64::TGT_O_RDONLY = 0x000000
static

open(2) flag values.

O_RDONLY

Definition at line 89 of file linux.hh.

◆ TGT_O_RDWR

const int RiscvLinux64::TGT_O_RDWR = 0x000002
static

O_RDWR.

Definition at line 91 of file linux.hh.

◆ TGT_O_SYNC

const int RiscvLinux64::TGT_O_SYNC = 0x001000
static

O_SYNC.

Definition at line 98 of file linux.hh.

◆ TGT_O_TRUNC

const int RiscvLinux64::TGT_O_TRUNC = 0x000200
static

O_TRUNC.

Definition at line 95 of file linux.hh.

◆ TGT_O_WRONLY

const int RiscvLinux64::TGT_O_WRONLY = 0x000001
static

O_WRONLY.

Definition at line 90 of file linux.hh.

◆ TGT_SIGABRT

const int RiscvLinux64::TGT_SIGABRT = 6
static

Definition at line 49 of file linux.hh.

◆ TGT_SIGALRM

const int RiscvLinux64::TGT_SIGALRM = 14
static

Definition at line 58 of file linux.hh.

◆ TGT_SIGBUS

const int RiscvLinux64::TGT_SIGBUS = 10
static

Definition at line 54 of file linux.hh.

◆ TGT_SIGCHLD

const int RiscvLinux64::TGT_SIGCHLD = 20
static

Definition at line 64 of file linux.hh.

◆ TGT_SIGCLD

const int RiscvLinux64::TGT_SIGCLD = 20
static

Definition at line 65 of file linux.hh.

◆ TGT_SIGCONT

const int RiscvLinux64::TGT_SIGCONT = 19
static

Definition at line 63 of file linux.hh.

◆ TGT_SIGEMT

const int RiscvLinux64::TGT_SIGEMT = 7
static

Definition at line 51 of file linux.hh.

◆ TGT_SIGFPE

const int RiscvLinux64::TGT_SIGFPE = 8
static

Definition at line 52 of file linux.hh.

◆ TGT_SIGHUP

const int RiscvLinux64::TGT_SIGHUP = 1
static

Definition at line 44 of file linux.hh.

◆ TGT_SIGILL

const int RiscvLinux64::TGT_SIGILL = 4
static

Definition at line 47 of file linux.hh.

◆ TGT_SIGINT

const int RiscvLinux64::TGT_SIGINT = 2
static

Definition at line 45 of file linux.hh.

◆ TGT_SIGIO

const int RiscvLinux64::TGT_SIGIO = 23
static

Definition at line 69 of file linux.hh.

◆ TGT_SIGIOT

const int RiscvLinux64::TGT_SIGIOT = 6
static

Definition at line 50 of file linux.hh.

◆ TGT_SIGKILL

const int RiscvLinux64::TGT_SIGKILL = 9
static

Definition at line 53 of file linux.hh.

◆ TGT_SIGLOST

const int RiscvLinux64::TGT_SIGLOST = 29
static

Definition at line 75 of file linux.hh.

◆ TGT_SIGPIPE

const int RiscvLinux64::TGT_SIGPIPE = 13
static

Definition at line 57 of file linux.hh.

◆ TGT_SIGPOLL

const int RiscvLinux64::TGT_SIGPOLL = 23
static

Definition at line 68 of file linux.hh.

◆ TGT_SIGPROF

const int RiscvLinux64::TGT_SIGPROF = 27
static

Definition at line 73 of file linux.hh.

◆ TGT_SIGPWR

const int RiscvLinux64::TGT_SIGPWR = 29
static

Definition at line 76 of file linux.hh.

◆ TGT_SIGQUIT

const int RiscvLinux64::TGT_SIGQUIT = 3
static

Definition at line 46 of file linux.hh.

◆ TGT_SIGSEGV

const int RiscvLinux64::TGT_SIGSEGV = 11
static

Definition at line 55 of file linux.hh.

◆ TGT_SIGSTOP

const int RiscvLinux64::TGT_SIGSTOP = 17
static

Definition at line 61 of file linux.hh.

◆ TGT_SIGSYS

const int RiscvLinux64::TGT_SIGSYS = 12
static

Definition at line 56 of file linux.hh.

◆ TGT_SIGTERM

const int RiscvLinux64::TGT_SIGTERM = 15
static

Definition at line 59 of file linux.hh.

◆ TGT_SIGTRAP

const int RiscvLinux64::TGT_SIGTRAP = 5
static

Definition at line 48 of file linux.hh.

◆ TGT_SIGTSTP

const int RiscvLinux64::TGT_SIGTSTP = 18
static

Definition at line 62 of file linux.hh.

◆ TGT_SIGTTIN

const int RiscvLinux64::TGT_SIGTTIN = 21
static

Definition at line 66 of file linux.hh.

◆ TGT_SIGTTOU

const int RiscvLinux64::TGT_SIGTTOU = 22
static

Definition at line 67 of file linux.hh.

◆ TGT_SIGURG

const int RiscvLinux64::TGT_SIGURG = 16
static

Definition at line 60 of file linux.hh.

◆ TGT_SIGUSR1

const int RiscvLinux64::TGT_SIGUSR1 = 30
static

Definition at line 77 of file linux.hh.

◆ TGT_SIGUSR2

const int RiscvLinux64::TGT_SIGUSR2 = 31
static

Definition at line 78 of file linux.hh.

◆ TGT_SIGVTALRM

const int RiscvLinux64::TGT_SIGVTALRM = 26
static

Definition at line 72 of file linux.hh.

◆ TGT_SIGWINCH

const int RiscvLinux64::TGT_SIGWINCH = 28
static

Definition at line 74 of file linux.hh.

◆ TGT_SIGXCPU

const int RiscvLinux64::TGT_SIGXCPU = 24
static

Definition at line 70 of file linux.hh.

◆ TGT_SIGXFSZ

const int RiscvLinux64::TGT_SIGXFSZ = 25
static

Definition at line 71 of file linux.hh.


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

Generated on Wed Sep 30 2020 14:02:30 for gem5 by doxygen 1.8.17