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

#include <linux.hh>

Inheritance diagram for X86Linux32:
X86Linux Linux OperatingSystem

Classes

struct  __attribute__
 
struct  tgt_sysinfo
 

Public Types

typedef uint32_t size_t
 Basic X86 Linux types. More...
 
typedef uint32_t off_t
 
typedef int32_t time_t
 
typedef int32_t clock_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 Attributes

static const int TGT_SIGHUP = 0x000001
 
static const int TGT_SIGINT = 0x000002
 
static const int TGT_SIGQUIT = 0x000003
 
static const int TGT_SIGILL = 0x000004
 
static const int TGT_SIGTRAP = 0x000005
 
static const int TGT_SIGABRT = 0x000006
 
static const int TGT_SIGIOT = 0x000006
 
static const int TGT_SIGBUS = 0x000007
 
static const int TGT_SIGFPE = 0x000008
 
static const int TGT_SIGKILL = 0x000009
 
static const int TGT_SIGUSR1 = 0x00000a
 
static const int TGT_SIGSEGV = 0x00000b
 
static const int TGT_SIGUSR2 = 0x00000c
 
static const int TGT_SIGPIPE = 0x00000d
 
static const int TGT_SIGALRM = 0x00000e
 
static const int TGT_SIGTERM = 0x00000f
 
static const int TGT_SIGSTKFLT = 0x000010
 
static const int TGT_SIGCHLD = 0x000011
 
static const int TGT_SIGCONT = 0x000012
 
static const int TGT_SIGSTOP = 0x000013
 
static const int TGT_SIGTSTP = 0x000014
 
static const int TGT_SIGTTIN = 0x000015
 
static const int TGT_SIGTTOU = 0x000016
 
static const int TGT_SIGURG = 0x000017
 
static const int TGT_SIGXCPU = 0x000018
 
static const int TGT_SIGXFSZ = 0x000019
 
static const int TGT_SIGVTALRM = 0x00001a
 
static const int TGT_SIGPROF = 0x00001b
 
static const int TGT_SIGWINCH = 0x00001c
 
static const int TGT_SIGIO = 0x00001d
 
static const int TGT_SIGPOLL = 0x00001d
 
static const int TGT_SIGPWR = 0x00001e
 
static const int TGT_SIGSYS = 0x00001f
 
static const int TGT_SIGUNUSED = 0x00001f
 
static SyscallFlagTransTable openFlagTable []
 
static const int TGT_O_RDONLY = 000000000
 O_RDONLY. More...
 
static const int TGT_O_WRONLY = 000000001
 O_WRONLY. More...
 
static const int TGT_O_RDWR = 000000002
 O_RDWR. More...
 
static const int TGT_O_CREAT = 000000100
 O_CREAT. More...
 
static const int TGT_O_EXCL = 000000200
 O_EXCL. More...
 
static const int TGT_O_NOCTTY = 000000400
 O_NOCTTY. More...
 
static const int TGT_O_TRUNC = 000001000
 O_TRUNC. More...
 
static const int TGT_O_APPEND = 000002000
 O_APPEND. More...
 
static const int TGT_O_NONBLOCK = 000004000
 O_NONBLOCK. More...
 
static const int TGT_O_DSYNC = 000010000
 O_DSYNC. More...
 
static const int TGT_FASYNC = 000020000
 
static const int TGT_O_DIRECT = 000040000
 O_DIRECTIO. More...
 
static const int TGT_O_LARGEFILE = 000100000
 
static const int TGT_O_DIRECTORY = 000200000
 
static const int TGT_O_NOFOLLOW = 000400000
 
static const int TGT_O_NOATIME = 001000000
 
static const int TGT_O_CLOEXEC = 002000000
 
static const int TGT_O_SYNC = 004010000
 O_SYNC. More...
 
static const int TGT_O_PATH = 010000000
 
static const int NUM_OPEN_FLAGS
 
static SyscallFlagTransTable mmapFlagTable []
 
static const unsigned TGT_MAP_SHARED = 0x00001
 
static const unsigned TGT_MAP_PRIVATE = 0x00002
 
static const unsigned TGT_MAP_32BIT = 0x00040
 
static const unsigned TGT_MAP_ANON = 0x00020
 
static const unsigned TGT_MAP_DENYWRITE = 0x00800
 
static const unsigned TGT_MAP_EXECUTABLE = 0x01000
 
static const unsigned TGT_MAP_FILE = 0x00000
 
static const unsigned TGT_MAP_GROWSDOWN = 0x00100
 
static const unsigned TGT_MAP_HUGETLB = 0x40000
 
static const unsigned TGT_MAP_LOCKED = 0x02000
 
static const unsigned TGT_MAP_NONBLOCK = 0x10000
 
static const unsigned TGT_MAP_NORESERVE = 0x04000
 
static const unsigned TGT_MAP_POPULATE = 0x08000
 
static const unsigned TGT_MAP_STACK = 0x20000
 
static const unsigned TGT_MAP_ANONYMOUS = 0x00020
 
static const unsigned TGT_MAP_FIXED = 0x00010
 
static const unsigned NUM_MMAP_FLAGS
 
- Static Public Attributes inherited from X86Linux
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...
 

Additional Inherited Members

- Static Public Member Functions inherited from X86Linux
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)
 

Detailed Description

Definition at line 242 of file linux.hh.

Member Typedef Documentation

◆ clock_t

typedef int32_t X86Linux32::clock_t

Definition at line 334 of file linux.hh.

◆ off_t

typedef uint32_t X86Linux32::off_t

Definition at line 332 of file linux.hh.

◆ size_t

typedef uint32_t X86Linux32::size_t

Basic X86 Linux types.

Definition at line 331 of file linux.hh.

◆ time_t

typedef int32_t X86Linux32::time_t

Definition at line 333 of file linux.hh.

Member Data Documentation

◆ mmapFlagTable

SyscallFlagTransTable X86Linux32::mmapFlagTable[]
static

Definition at line 327 of file linux.hh.

◆ NUM_MMAP_FLAGS

const unsigned X86Linux32::NUM_MMAP_FLAGS
static

Definition at line 354 of file linux.hh.

◆ NUM_OPEN_FLAGS

const int X86Linux32::NUM_OPEN_FLAGS
static

Definition at line 325 of file linux.hh.

◆ openFlagTable

SyscallFlagTransTable X86Linux32::openFlagTable[]
static

Definition at line 303 of file linux.hh.

◆ TGT_FASYNC

const int X86Linux32::TGT_FASYNC = 000020000
static

Definition at line 315 of file linux.hh.

◆ TGT_MAP_32BIT

const unsigned X86Linux32::TGT_MAP_32BIT = 0x00040
static

Definition at line 339 of file linux.hh.

◆ TGT_MAP_ANON

const unsigned X86Linux32::TGT_MAP_ANON = 0x00020
static

Definition at line 340 of file linux.hh.

◆ TGT_MAP_ANONYMOUS

const unsigned X86Linux32::TGT_MAP_ANONYMOUS = 0x00020
static

Definition at line 351 of file linux.hh.

◆ TGT_MAP_DENYWRITE

const unsigned X86Linux32::TGT_MAP_DENYWRITE = 0x00800
static

Definition at line 341 of file linux.hh.

◆ TGT_MAP_EXECUTABLE

const unsigned X86Linux32::TGT_MAP_EXECUTABLE = 0x01000
static

Definition at line 342 of file linux.hh.

◆ TGT_MAP_FILE

const unsigned X86Linux32::TGT_MAP_FILE = 0x00000
static

Definition at line 343 of file linux.hh.

◆ TGT_MAP_FIXED

const unsigned X86Linux32::TGT_MAP_FIXED = 0x00010
static

Definition at line 352 of file linux.hh.

◆ TGT_MAP_GROWSDOWN

const unsigned X86Linux32::TGT_MAP_GROWSDOWN = 0x00100
static

Definition at line 344 of file linux.hh.

◆ TGT_MAP_HUGETLB

const unsigned X86Linux32::TGT_MAP_HUGETLB = 0x40000
static

Definition at line 345 of file linux.hh.

◆ TGT_MAP_LOCKED

const unsigned X86Linux32::TGT_MAP_LOCKED = 0x02000
static

Definition at line 346 of file linux.hh.

◆ TGT_MAP_NONBLOCK

const unsigned X86Linux32::TGT_MAP_NONBLOCK = 0x10000
static

Definition at line 347 of file linux.hh.

◆ TGT_MAP_NORESERVE

const unsigned X86Linux32::TGT_MAP_NORESERVE = 0x04000
static

Definition at line 348 of file linux.hh.

◆ TGT_MAP_POPULATE

const unsigned X86Linux32::TGT_MAP_POPULATE = 0x08000
static

Definition at line 349 of file linux.hh.

◆ TGT_MAP_PRIVATE

const unsigned X86Linux32::TGT_MAP_PRIVATE = 0x00002
static

Definition at line 338 of file linux.hh.

◆ TGT_MAP_SHARED

const unsigned X86Linux32::TGT_MAP_SHARED = 0x00001
static

Definition at line 337 of file linux.hh.

◆ TGT_MAP_STACK

const unsigned X86Linux32::TGT_MAP_STACK = 0x20000
static

Definition at line 350 of file linux.hh.

◆ TGT_O_APPEND

const int X86Linux32::TGT_O_APPEND = 000002000
static

O_APPEND.

Definition at line 312 of file linux.hh.

◆ TGT_O_CLOEXEC

const int X86Linux32::TGT_O_CLOEXEC = 002000000
static

Definition at line 321 of file linux.hh.

◆ TGT_O_CREAT

const int X86Linux32::TGT_O_CREAT = 000000100
static

O_CREAT.

Definition at line 308 of file linux.hh.

◆ TGT_O_DIRECT

const int X86Linux32::TGT_O_DIRECT = 000040000
static

O_DIRECTIO.

Definition at line 316 of file linux.hh.

◆ TGT_O_DIRECTORY

const int X86Linux32::TGT_O_DIRECTORY = 000200000
static

Definition at line 318 of file linux.hh.

◆ TGT_O_DSYNC

const int X86Linux32::TGT_O_DSYNC = 000010000
static

O_DSYNC.

Definition at line 314 of file linux.hh.

◆ TGT_O_EXCL

const int X86Linux32::TGT_O_EXCL = 000000200
static

O_EXCL.

Definition at line 309 of file linux.hh.

◆ TGT_O_LARGEFILE

const int X86Linux32::TGT_O_LARGEFILE = 000100000
static

Definition at line 317 of file linux.hh.

◆ TGT_O_NOATIME

const int X86Linux32::TGT_O_NOATIME = 001000000
static

Definition at line 320 of file linux.hh.

◆ TGT_O_NOCTTY

const int X86Linux32::TGT_O_NOCTTY = 000000400
static

O_NOCTTY.

Definition at line 310 of file linux.hh.

◆ TGT_O_NOFOLLOW

const int X86Linux32::TGT_O_NOFOLLOW = 000400000
static

Definition at line 319 of file linux.hh.

◆ TGT_O_NONBLOCK

const int X86Linux32::TGT_O_NONBLOCK = 000004000
static

O_NONBLOCK.

Definition at line 313 of file linux.hh.

◆ TGT_O_PATH

const int X86Linux32::TGT_O_PATH = 010000000
static

Definition at line 323 of file linux.hh.

◆ TGT_O_RDONLY

const int X86Linux32::TGT_O_RDONLY = 000000000
static

O_RDONLY.

Definition at line 305 of file linux.hh.

◆ TGT_O_RDWR

const int X86Linux32::TGT_O_RDWR = 000000002
static

O_RDWR.

Definition at line 307 of file linux.hh.

◆ TGT_O_SYNC

const int X86Linux32::TGT_O_SYNC = 004010000
static

O_SYNC.

Definition at line 322 of file linux.hh.

◆ TGT_O_TRUNC

const int X86Linux32::TGT_O_TRUNC = 000001000
static

O_TRUNC.

Definition at line 311 of file linux.hh.

◆ TGT_O_WRONLY

const int X86Linux32::TGT_O_WRONLY = 000000001
static

O_WRONLY.

Definition at line 306 of file linux.hh.

◆ TGT_SIGABRT

const int X86Linux32::TGT_SIGABRT = 0x000006
static

Definition at line 273 of file linux.hh.

◆ TGT_SIGALRM

const int X86Linux32::TGT_SIGALRM = 0x00000e
static

Definition at line 282 of file linux.hh.

◆ TGT_SIGBUS

const int X86Linux32::TGT_SIGBUS = 0x000007
static

Definition at line 275 of file linux.hh.

◆ TGT_SIGCHLD

const int X86Linux32::TGT_SIGCHLD = 0x000011
static

Definition at line 285 of file linux.hh.

◆ TGT_SIGCONT

const int X86Linux32::TGT_SIGCONT = 0x000012
static

Definition at line 286 of file linux.hh.

◆ TGT_SIGFPE

const int X86Linux32::TGT_SIGFPE = 0x000008
static

Definition at line 276 of file linux.hh.

◆ TGT_SIGHUP

const int X86Linux32::TGT_SIGHUP = 0x000001
static

Definition at line 268 of file linux.hh.

◆ TGT_SIGILL

const int X86Linux32::TGT_SIGILL = 0x000004
static

Definition at line 271 of file linux.hh.

◆ TGT_SIGINT

const int X86Linux32::TGT_SIGINT = 0x000002
static

Definition at line 269 of file linux.hh.

◆ TGT_SIGIO

const int X86Linux32::TGT_SIGIO = 0x00001d
static

Definition at line 297 of file linux.hh.

◆ TGT_SIGIOT

const int X86Linux32::TGT_SIGIOT = 0x000006
static

Definition at line 274 of file linux.hh.

◆ TGT_SIGKILL

const int X86Linux32::TGT_SIGKILL = 0x000009
static

Definition at line 277 of file linux.hh.

◆ TGT_SIGPIPE

const int X86Linux32::TGT_SIGPIPE = 0x00000d
static

Definition at line 281 of file linux.hh.

◆ TGT_SIGPOLL

const int X86Linux32::TGT_SIGPOLL = 0x00001d
static

Definition at line 298 of file linux.hh.

◆ TGT_SIGPROF

const int X86Linux32::TGT_SIGPROF = 0x00001b
static

Definition at line 295 of file linux.hh.

◆ TGT_SIGPWR

const int X86Linux32::TGT_SIGPWR = 0x00001e
static

Definition at line 299 of file linux.hh.

◆ TGT_SIGQUIT

const int X86Linux32::TGT_SIGQUIT = 0x000003
static

Definition at line 270 of file linux.hh.

◆ TGT_SIGSEGV

const int X86Linux32::TGT_SIGSEGV = 0x00000b
static

Definition at line 279 of file linux.hh.

◆ TGT_SIGSTKFLT

const int X86Linux32::TGT_SIGSTKFLT = 0x000010
static

Definition at line 284 of file linux.hh.

◆ TGT_SIGSTOP

const int X86Linux32::TGT_SIGSTOP = 0x000013
static

Definition at line 287 of file linux.hh.

◆ TGT_SIGSYS

const int X86Linux32::TGT_SIGSYS = 0x00001f
static

Definition at line 300 of file linux.hh.

◆ TGT_SIGTERM

const int X86Linux32::TGT_SIGTERM = 0x00000f
static

Definition at line 283 of file linux.hh.

◆ TGT_SIGTRAP

const int X86Linux32::TGT_SIGTRAP = 0x000005
static

Definition at line 272 of file linux.hh.

◆ TGT_SIGTSTP

const int X86Linux32::TGT_SIGTSTP = 0x000014
static

Definition at line 288 of file linux.hh.

◆ TGT_SIGTTIN

const int X86Linux32::TGT_SIGTTIN = 0x000015
static

Definition at line 289 of file linux.hh.

◆ TGT_SIGTTOU

const int X86Linux32::TGT_SIGTTOU = 0x000016
static

Definition at line 290 of file linux.hh.

◆ TGT_SIGUNUSED

const int X86Linux32::TGT_SIGUNUSED = 0x00001f
static

Definition at line 301 of file linux.hh.

◆ TGT_SIGURG

const int X86Linux32::TGT_SIGURG = 0x000017
static

Definition at line 291 of file linux.hh.

◆ TGT_SIGUSR1

const int X86Linux32::TGT_SIGUSR1 = 0x00000a
static

Definition at line 278 of file linux.hh.

◆ TGT_SIGUSR2

const int X86Linux32::TGT_SIGUSR2 = 0x00000c
static

Definition at line 280 of file linux.hh.

◆ TGT_SIGVTALRM

const int X86Linux32::TGT_SIGVTALRM = 0x00001a
static

Definition at line 294 of file linux.hh.

◆ TGT_SIGWINCH

const int X86Linux32::TGT_SIGWINCH = 0x00001c
static

Definition at line 296 of file linux.hh.

◆ TGT_SIGXCPU

const int X86Linux32::TGT_SIGXCPU = 0x000018
static

Definition at line 292 of file linux.hh.

◆ TGT_SIGXFSZ

const int X86Linux32::TGT_SIGXFSZ = 0x000019
static

Definition at line 293 of file linux.hh.


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

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