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

#include <linux.hh>

Inheritance diagram for RiscvLinux32:
RiscvLinux Linux OperatingSystem

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
 
- 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 = 0x000200
 O_CREAT. More...
 
static const int TGT_O_EXCL = 0x000800
 O_EXCL. More...
 
static const int TGT_O_NOCTTY = 0x008000
 O_NOCTTY. More...
 
static const int TGT_O_TRUNC = 0x000400
 O_TRUNC. More...
 
static const int TGT_O_APPEND = 0x000008
 O_APPEND. More...
 
static const int TGT_O_NONBLOCK = 0x004000
 O_NONBLOCK. More...
 
static const int TGT_O_SYNC = 0x002000
 O_SYNC. More...
 
static const int TGT_FSYNC = 0x002000
 FSYNC. More...
 
static const int TGT_FASYNC = 0x000040
 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 210 of file linux.hh.

Member Typedef Documentation

◆ time_t

typedef int64_t RiscvLinux32::time_t

Definition at line 297 of file linux.hh.

Member Function Documentation

◆ archClone()

static void RiscvLinux32::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 RiscvLinux32::NUM_MMAP_FLAGS
static

Definition at line 293 of file linux.hh.

◆ NUM_OPEN_FLAGS

const int RiscvLinux32::NUM_OPEN_FLAGS
static

Number of entries in openFlagTable[].

Definition at line 254 of file linux.hh.

◆ openFlagTable

SyscallFlagTransTable RiscvLinux32::openFlagTable[]
static

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

Definition at line 251 of file linux.hh.

◆ TGT_FASYNC

const int RiscvLinux32::TGT_FASYNC = 0x000040
static

FASYNC.

Definition at line 271 of file linux.hh.

◆ TGT_FSYNC

const int RiscvLinux32::TGT_FSYNC = 0x002000
static

FSYNC.

Definition at line 270 of file linux.hh.

◆ TGT_MAP_ANONYMOUS

const unsigned RiscvLinux32::TGT_MAP_ANONYMOUS = 0x0020
static

Definition at line 289 of file linux.hh.

◆ TGT_MAP_FIXED

const unsigned RiscvLinux32::TGT_MAP_FIXED = 0x0010
static

Definition at line 288 of file linux.hh.

◆ TGT_MAP_POPULATE

const unsigned RiscvLinux32::TGT_MAP_POPULATE = 0x1000
static

Definition at line 290 of file linux.hh.

◆ TGT_MAP_PRIVATE

const unsigned RiscvLinux32::TGT_MAP_PRIVATE = 0x0002
static

Definition at line 287 of file linux.hh.

◆ TGT_MAP_SHARED

const unsigned RiscvLinux32::TGT_MAP_SHARED = 0x0001
static

Definition at line 286 of file linux.hh.

◆ TGT_MREMAP_FIXED

const unsigned RiscvLinux32::TGT_MREMAP_FIXED = 0x0020
static

Definition at line 291 of file linux.hh.

◆ TGT_O_APPEND

const int RiscvLinux32::TGT_O_APPEND = 0x000008
static

O_APPEND.

Definition at line 267 of file linux.hh.

◆ TGT_O_CLOEXEC

const int RiscvLinux32::TGT_O_CLOEXEC = 0x040000
static

O_CLOEXEC.

Definition at line 274 of file linux.hh.

◆ TGT_O_CREAT

const int RiscvLinux32::TGT_O_CREAT = 0x000200
static

O_CREAT.

Definition at line 263 of file linux.hh.

◆ TGT_O_DIRECT

const int RiscvLinux32::TGT_O_DIRECT = 0x080000
static

O_DIRECT.

Definition at line 276 of file linux.hh.

◆ TGT_O_DIRECTORY

const int RiscvLinux32::TGT_O_DIRECTORY = 0x200000
static

O_DIRECTORY.

Definition at line 278 of file linux.hh.

◆ TGT_O_DSYNC

const int RiscvLinux32::TGT_O_DSYNC = 0x010000
static

O_DSYNC.

Definition at line 273 of file linux.hh.

◆ TGT_O_EXCL

const int RiscvLinux32::TGT_O_EXCL = 0x000800
static

O_EXCL.

Definition at line 264 of file linux.hh.

◆ TGT_O_LARGEFILE

const int RiscvLinux32::TGT_O_LARGEFILE = 0x020000
static

O_LARGEFILE.

Definition at line 280 of file linux.hh.

◆ TGT_O_NOATIME

const int RiscvLinux32::TGT_O_NOATIME = 0x800000
static

O_NOATIME.

Definition at line 281 of file linux.hh.

◆ TGT_O_NOCTTY

const int RiscvLinux32::TGT_O_NOCTTY = 0x008000
static

O_NOCTTY.

Definition at line 265 of file linux.hh.

◆ TGT_O_NOFOLLOW

const int RiscvLinux32::TGT_O_NOFOLLOW = 0x100000
static

O_NOFOLLOW.

Definition at line 277 of file linux.hh.

◆ TGT_O_NOINHERIT

const int RiscvLinux32::TGT_O_NOINHERIT = 0x040000
static

O_NOINHERIT.

Definition at line 275 of file linux.hh.

◆ TGT_O_NONBLOCK

const int RiscvLinux32::TGT_O_NONBLOCK = 0x004000
static

O_NONBLOCK.

Definition at line 268 of file linux.hh.

◆ TGT_O_PATH

const int RiscvLinux32::TGT_O_PATH = 0x400000
static

O_PATH.

Definition at line 282 of file linux.hh.

◆ TGT_O_RDONLY

const int RiscvLinux32::TGT_O_RDONLY = 0x000000
static

open(2) flag values.

O_RDONLY

Definition at line 260 of file linux.hh.

◆ TGT_O_RDWR

const int RiscvLinux32::TGT_O_RDWR = 0x000002
static

O_RDWR.

Definition at line 262 of file linux.hh.

◆ TGT_O_SYNC

const int RiscvLinux32::TGT_O_SYNC = 0x002000
static

O_SYNC.

Definition at line 269 of file linux.hh.

◆ TGT_O_TRUNC

const int RiscvLinux32::TGT_O_TRUNC = 0x000400
static

O_TRUNC.

Definition at line 266 of file linux.hh.

◆ TGT_O_WRONLY

const int RiscvLinux32::TGT_O_WRONLY = 0x000001
static

O_WRONLY.

Definition at line 261 of file linux.hh.

◆ TGT_SIGABRT

const int RiscvLinux32::TGT_SIGABRT = 6
static

Definition at line 218 of file linux.hh.

◆ TGT_SIGALRM

const int RiscvLinux32::TGT_SIGALRM = 14
static

Definition at line 227 of file linux.hh.

◆ TGT_SIGBUS

const int RiscvLinux32::TGT_SIGBUS = 10
static

Definition at line 223 of file linux.hh.

◆ TGT_SIGCHLD

const int RiscvLinux32::TGT_SIGCHLD = 20
static

Definition at line 233 of file linux.hh.

◆ TGT_SIGCLD

const int RiscvLinux32::TGT_SIGCLD = 20
static

Definition at line 234 of file linux.hh.

◆ TGT_SIGCONT

const int RiscvLinux32::TGT_SIGCONT = 19
static

Definition at line 232 of file linux.hh.

◆ TGT_SIGEMT

const int RiscvLinux32::TGT_SIGEMT = 7
static

Definition at line 220 of file linux.hh.

◆ TGT_SIGFPE

const int RiscvLinux32::TGT_SIGFPE = 8
static

Definition at line 221 of file linux.hh.

◆ TGT_SIGHUP

const int RiscvLinux32::TGT_SIGHUP = 1
static

Definition at line 213 of file linux.hh.

◆ TGT_SIGILL

const int RiscvLinux32::TGT_SIGILL = 4
static

Definition at line 216 of file linux.hh.

◆ TGT_SIGINT

const int RiscvLinux32::TGT_SIGINT = 2
static

Definition at line 214 of file linux.hh.

◆ TGT_SIGIO

const int RiscvLinux32::TGT_SIGIO = 23
static

Definition at line 238 of file linux.hh.

◆ TGT_SIGIOT

const int RiscvLinux32::TGT_SIGIOT = 6
static

Definition at line 219 of file linux.hh.

◆ TGT_SIGKILL

const int RiscvLinux32::TGT_SIGKILL = 9
static

Definition at line 222 of file linux.hh.

◆ TGT_SIGLOST

const int RiscvLinux32::TGT_SIGLOST = 29
static

Definition at line 244 of file linux.hh.

◆ TGT_SIGPIPE

const int RiscvLinux32::TGT_SIGPIPE = 13
static

Definition at line 226 of file linux.hh.

◆ TGT_SIGPOLL

const int RiscvLinux32::TGT_SIGPOLL = 23
static

Definition at line 237 of file linux.hh.

◆ TGT_SIGPROF

const int RiscvLinux32::TGT_SIGPROF = 27
static

Definition at line 242 of file linux.hh.

◆ TGT_SIGPWR

const int RiscvLinux32::TGT_SIGPWR = 29
static

Definition at line 245 of file linux.hh.

◆ TGT_SIGQUIT

const int RiscvLinux32::TGT_SIGQUIT = 3
static

Definition at line 215 of file linux.hh.

◆ TGT_SIGSEGV

const int RiscvLinux32::TGT_SIGSEGV = 11
static

Definition at line 224 of file linux.hh.

◆ TGT_SIGSTOP

const int RiscvLinux32::TGT_SIGSTOP = 17
static

Definition at line 230 of file linux.hh.

◆ TGT_SIGSYS

const int RiscvLinux32::TGT_SIGSYS = 12
static

Definition at line 225 of file linux.hh.

◆ TGT_SIGTERM

const int RiscvLinux32::TGT_SIGTERM = 15
static

Definition at line 228 of file linux.hh.

◆ TGT_SIGTRAP

const int RiscvLinux32::TGT_SIGTRAP = 5
static

Definition at line 217 of file linux.hh.

◆ TGT_SIGTSTP

const int RiscvLinux32::TGT_SIGTSTP = 18
static

Definition at line 231 of file linux.hh.

◆ TGT_SIGTTIN

const int RiscvLinux32::TGT_SIGTTIN = 21
static

Definition at line 235 of file linux.hh.

◆ TGT_SIGTTOU

const int RiscvLinux32::TGT_SIGTTOU = 22
static

Definition at line 236 of file linux.hh.

◆ TGT_SIGURG

const int RiscvLinux32::TGT_SIGURG = 16
static

Definition at line 229 of file linux.hh.

◆ TGT_SIGUSR1

const int RiscvLinux32::TGT_SIGUSR1 = 30
static

Definition at line 246 of file linux.hh.

◆ TGT_SIGUSR2

const int RiscvLinux32::TGT_SIGUSR2 = 31
static

Definition at line 247 of file linux.hh.

◆ TGT_SIGVTALRM

const int RiscvLinux32::TGT_SIGVTALRM = 26
static

Definition at line 241 of file linux.hh.

◆ TGT_SIGWINCH

const int RiscvLinux32::TGT_SIGWINCH = 28
static

Definition at line 243 of file linux.hh.

◆ TGT_SIGXCPU

const int RiscvLinux32::TGT_SIGXCPU = 24
static

Definition at line 239 of file linux.hh.

◆ TGT_SIGXFSZ

const int RiscvLinux32::TGT_SIGXFSZ = 25
static

Definition at line 240 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