gem5 v24.0.0.0
Loading...
Searching...
No Matches
linux.hh
Go to the documentation of this file.
1/*
2 * Copyright (c) 2006 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;
9 * redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution;
12 * neither the name of the copyright holders nor the names of its
13 * contributors may be used to endorse or promote products derived from
14 * this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef __ARCH_RISCV_LINUX_LINUX_HH__
30#define __ARCH_RISCV_LINUX_LINUX_HH__
31
32#include <map>
33
34#include "arch/riscv/utility.hh"
36#include "kern/linux/linux.hh"
37
38namespace gem5
39{
40
41class RiscvLinux : public Linux
42{
43 public:
44 static const ByteOrder byteOrder = ByteOrder::little;
45};
46
47class RiscvLinux64 : public RiscvLinux, public OpenFlagTable<RiscvLinux64>
48{
49 public:
50 static const int TGT_SIGHUP = 1;
51 static const int TGT_SIGINT = 2;
52 static const int TGT_SIGQUIT = 3;
53 static const int TGT_SIGILL = 4;
54 static const int TGT_SIGTRAP = 5;
55 static const int TGT_SIGABRT = 6;
56 static const int TGT_SIGIOT = 6;
57 static const int TGT_SIGEMT = 7;
58 static const int TGT_SIGFPE = 8;
59 static const int TGT_SIGKILL = 9;
60 static const int TGT_SIGBUS = 10;
61 static const int TGT_SIGSEGV = 11;
62 static const int TGT_SIGSYS = 12;
63 static const int TGT_SIGPIPE = 13;
64 static const int TGT_SIGALRM = 14;
65 static const int TGT_SIGTERM = 15;
66 static const int TGT_SIGURG = 16;
67 static const int TGT_SIGSTOP = 17;
68 static const int TGT_SIGTSTP = 18;
69 static const int TGT_SIGCONT = 19;
70 static const int TGT_SIGCHLD = 20;
71 static const int TGT_SIGCLD = 20;
72 static const int TGT_SIGTTIN = 21;
73 static const int TGT_SIGTTOU = 22;
74 static const int TGT_SIGPOLL = 23;
75 static const int TGT_SIGIO = 23;
76 static const int TGT_SIGXCPU = 24;
77 static const int TGT_SIGXFSZ = 25;
78 static const int TGT_SIGVTALRM = 26;
79 static const int TGT_SIGPROF = 27;
80 static const int TGT_SIGWINCH = 28;
81 static const int TGT_SIGLOST = 29;
82 static const int TGT_SIGPWR = 29;
83 static const int TGT_SIGUSR1 = 30;
84 static const int TGT_SIGUSR2 = 31;
85
87
88 static constexpr int TGT_O_RDONLY = 0x000000;
89 static constexpr int TGT_O_WRONLY = 0x000001;
90 static constexpr int TGT_O_RDWR = 0x000002;
91 static constexpr int TGT_O_CREAT = 0x000040;
92 static constexpr int TGT_O_EXCL = 0x000080;
93 static constexpr int TGT_O_NOCTTY = 0x000100;
94 static constexpr int TGT_O_TRUNC = 0x000200;
95 static constexpr int TGT_O_APPEND = 0x000400;
96 static constexpr int TGT_O_NONBLOCK = 0x000800;
97 static constexpr int TGT_O_SYNC = 0x101000;
98 static constexpr int TGT_FSYNC = 0x001000;
99 static constexpr int TGT_FASYNC = 0x002000;
100 // The following are not present in riscv64-unknown-elf <fcntl.h>
101 static constexpr int TGT_O_DSYNC = 0x001000;
102 static constexpr int TGT_O_CLOEXEC = 0x080000;
103 static constexpr int TGT_O_NOINHERIT = 0x040000;
104 static constexpr int TGT_O_DIRECT = 0x004000;
105 static constexpr int TGT_O_NOFOLLOW = 0x020000;
106 static constexpr int TGT_O_DIRECTORY = 0x010000;
107 // The following are not defined by riscv64-unknown-elf
108 static constexpr int TGT_O_LARGEFILE = 0x000000;
109 static constexpr int TGT_O_NOATIME = 0x040000;
110 static constexpr int TGT_O_PATH = 0x200000;
112
113 // Only defined in riscv-unknown-elf for proxy kernel and not linux kernel
114 static constexpr unsigned TGT_MAP_SHARED = 0x0001;
115 static constexpr unsigned TGT_MAP_PRIVATE = 0x0002;
116 static constexpr unsigned TGT_MAP_FIXED = 0x0010;
117 static constexpr unsigned TGT_MAP_ANONYMOUS = 0x0020;
118 static constexpr unsigned TGT_MAP_POPULATE = 0x1000;
119 static constexpr unsigned TGT_MREMAP_FIXED = 0x0020;
120
121 typedef int64_t time_t;
122 typedef uint64_t dev_t;
123 typedef uint64_t ino_t;
124 typedef uint32_t mode_t;
125 typedef uint32_t nlink_t;
126 typedef uint32_t uid_t;
127 typedef uint32_t gid_t;
128 typedef int64_t off_t;
129 typedef uint64_t blksize_t;
130 typedef uint64_t blkcnt_t;
131
132 struct timespec
133 {
135 int64_t tv_nsec;
136 };
137
159
161 {
162 int32_t val[2];
163 };
164
166 {
167 uint64_t f_type;
168 uint64_t f_bsize;
169 uint64_t f_blocks;
170 uint64_t f_bfree;
171 uint64_t f_bavail;
172 uint64_t f_files;
173 uint64_t f_ffree;
175 uint64_t f_namelen;
176 uint64_t f_frsize;
177 uint64_t f_flags;
178 uint64_t f_spare[4];
179 };
180
182 {
183 int64_t uptime;
184 uint64_t loads[3];
185 uint64_t totalram;
186 uint64_t freeram;
187 uint64_t sharedram;
188 uint64_t bufferram;
189 uint64_t totalswap;
190 uint64_t freeswap;
191 uint16_t procs;
192 uint16_t pad;
193 uint64_t totalhigh;
194 uint64_t freehigh;
195 uint32_t mem_unit;
196 };
197
198 static void
199 archClone(uint64_t flags,
200 Process *pp, Process *cp,
202 uint64_t stack, uint64_t tls)
203 {
204 ctc->getIsaPtr()->copyRegsFrom(ptc);
207 if (stack)
209 }
210};
211
212class RiscvLinux32 : public RiscvLinux, public OpenFlagTable<RiscvLinux32>
213{
214 public:
215 static const int TGT_SIGHUP = 1;
216 static const int TGT_SIGINT = 2;
217 static const int TGT_SIGQUIT = 3;
218 static const int TGT_SIGILL = 4;
219 static const int TGT_SIGTRAP = 5;
220 static const int TGT_SIGABRT = 6;
221 static const int TGT_SIGIOT = 6;
222 static const int TGT_SIGEMT = 7;
223 static const int TGT_SIGFPE = 8;
224 static const int TGT_SIGKILL = 9;
225 static const int TGT_SIGBUS = 10;
226 static const int TGT_SIGSEGV = 11;
227 static const int TGT_SIGSYS = 12;
228 static const int TGT_SIGPIPE = 13;
229 static const int TGT_SIGALRM = 14;
230 static const int TGT_SIGTERM = 15;
231 static const int TGT_SIGURG = 16;
232 static const int TGT_SIGSTOP = 17;
233 static const int TGT_SIGTSTP = 18;
234 static const int TGT_SIGCONT = 19;
235 static const int TGT_SIGCHLD = 20;
236 static const int TGT_SIGCLD = 20;
237 static const int TGT_SIGTTIN = 21;
238 static const int TGT_SIGTTOU = 22;
239 static const int TGT_SIGPOLL = 23;
240 static const int TGT_SIGIO = 23;
241 static const int TGT_SIGXCPU = 24;
242 static const int TGT_SIGXFSZ = 25;
243 static const int TGT_SIGVTALRM = 26;
244 static const int TGT_SIGPROF = 27;
245 static const int TGT_SIGWINCH = 28;
246 static const int TGT_SIGLOST = 29;
247 static const int TGT_SIGPWR = 29;
248 static const int TGT_SIGUSR1 = 30;
249 static const int TGT_SIGUSR2 = 31;
250
252
253 // The following values match newlib 3.0.0.
254 // Note that glibc has different values.
255 static constexpr int TGT_O_RDONLY = 0x000000;
256 static constexpr int TGT_O_WRONLY = 0x000001;
257 static constexpr int TGT_O_RDWR = 0x000002;
258 static constexpr int TGT_O_CREAT = 0x000200;
259 static constexpr int TGT_O_EXCL = 0x000800;
260 static constexpr int TGT_O_NOCTTY = 0x008000;
261 static constexpr int TGT_O_TRUNC = 0x000400;
262 static constexpr int TGT_O_APPEND = 0x000008;
263 static constexpr int TGT_O_NONBLOCK = 0x004000;
264 static constexpr int TGT_O_SYNC = 0x002000;
265 static constexpr int TGT_FSYNC = 0x002000;
266 static constexpr int TGT_FASYNC = 0x000040;
267 // The following are not present in riscv32-unknown-elf <fcntl.h>
268 static constexpr int TGT_O_DSYNC = 0x010000;
269 static constexpr int TGT_O_CLOEXEC = 0x040000;
270 static constexpr int TGT_O_NOINHERIT = 0x040000;
271 static constexpr int TGT_O_DIRECT = 0x080000;
272 static constexpr int TGT_O_NOFOLLOW = 0x100000;
273 static constexpr int TGT_O_DIRECTORY = 0x200000;
274 // The following are not defined by riscv32-unknown-elf
275 static constexpr int TGT_O_LARGEFILE = 0x020000;
276 static constexpr int TGT_O_NOATIME = 0x800000;
277 static constexpr int TGT_O_PATH = 0x400000;
279
280 // Only defined in riscv-unknown-elf for proxy kernel and not linux kernel
281 static constexpr unsigned TGT_MAP_SHARED = 0x0001;
282 static constexpr unsigned TGT_MAP_PRIVATE = 0x0002;
283 static constexpr unsigned TGT_MAP_FIXED = 0x0010;
284 static constexpr unsigned TGT_MAP_ANONYMOUS = 0x0020;
285 static constexpr unsigned TGT_MAP_POPULATE = 0x1000;
286 static constexpr unsigned TGT_MREMAP_FIXED = 0x0020;
287
288 // Newlib 3.0.0 defaults to 64-bits for time_t.
289 // Currently time_t in glibc for riscv32 is 32-bits, but will be changed.
290 typedef int64_t time_t;
291
292 // Linux types for RV32
293 typedef uint32_t size_t;
294 typedef int64_t off_t;
295
297 struct rlimit
298 {
299 uint32_t rlim_cur;
300 uint32_t rlim_max;
301 };
302
303 struct timespec
304 {
306 int32_t tv_nsec;
307 };
308
310 {
311 int32_t val[2];
312 };
313
314 struct tgt_stat
315 {
316 uint64_t st_dev;
317 uint64_t st_ino;
318 uint32_t st_mode;
319 uint32_t st_nlink;
320 uint32_t st_uid;
321 uint32_t st_gid;
322 uint64_t st_rdev;
323 uint64_t __pad1;
324 int64_t st_size;
325 int32_t st_blksize;
326 int32_t __pad2;
327 int64_t st_blocks;
334 int32_t __unused4;
335 int32_t __unused5;
336 };
337
339 {
340 uint32_t f_type;
341 uint32_t f_bsize;
342 uint32_t f_blocks;
343 uint32_t f_bfree;
344 uint32_t f_bavail;
345 uint32_t f_files;
346 uint32_t f_ffree;
348 uint32_t f_namelen;
349 uint32_t f_frsize;
350 uint32_t f_flags;
351 uint32_t f_spare[4];
352 };
353
355 {
356 int32_t uptime;
357 uint32_t loads[3];
358 uint32_t totalram;
359 uint32_t freeram;
360 uint32_t sharedram;
361 uint32_t bufferram;
362 uint32_t totalswap;
363 uint32_t freeswap;
364 uint16_t procs;
365 uint16_t pad;
366 uint32_t totalhigh;
367 uint32_t freehigh;
368 uint32_t mem_unit;
369 };
370
371 static void
372 archClone(uint64_t flags,
373 Process *pp, Process *cp,
375 uint64_t stack, uint64_t tls)
376 {
377 ctc->getIsaPtr()->copyRegsFrom(ptc);
380 if (stack)
382 }
383};
384
385} // namespace gem5
386
387#endif
virtual void copyRegsFrom(ThreadContext *src)=0
This class encapsulates the types, structures, constants, functions, and syscall-number mappings spec...
Definition linux.hh:62
static const unsigned TGT_CLONE_SETTLS
Definition linux.hh:319
static const int TGT_SIGWINCH
Definition linux.hh:245
static const int TGT_SIGCHLD
Definition linux.hh:235
static const int TGT_SIGIOT
Definition linux.hh:221
static const int TGT_SIGSEGV
Definition linux.hh:226
static constexpr int TGT_O_CLOEXEC
O_CLOEXEC.
Definition linux.hh:269
static const int TGT_SIGURG
Definition linux.hh:231
static const int TGT_SIGCONT
Definition linux.hh:234
static const int TGT_SIGCLD
Definition linux.hh:236
static constexpr int TGT_O_NOFOLLOW
O_NOFOLLOW.
Definition linux.hh:272
static constexpr int TGT_O_RDONLY
open(2) flag values.
Definition linux.hh:255
static const int TGT_SIGBUS
Definition linux.hh:225
static const int TGT_SIGXFSZ
Definition linux.hh:242
static constexpr unsigned TGT_MAP_ANONYMOUS
Definition linux.hh:284
static constexpr int TGT_O_RDWR
O_RDWR.
Definition linux.hh:257
static const int TGT_SIGKILL
Definition linux.hh:224
static const int TGT_SIGINT
Definition linux.hh:216
static void archClone(uint64_t flags, Process *pp, Process *cp, ThreadContext *ptc, ThreadContext *ctc, uint64_t stack, uint64_t tls)
Definition linux.hh:372
static const int TGT_SIGUSR2
Definition linux.hh:249
static const int TGT_SIGTTIN
Definition linux.hh:237
static const int TGT_SIGTSTP
Definition linux.hh:233
static constexpr int TGT_FASYNC
FASYNC.
Definition linux.hh:266
static constexpr unsigned TGT_MAP_SHARED
Definition linux.hh:281
static const int TGT_SIGILL
Definition linux.hh:218
static const int TGT_SIGHUP
Definition linux.hh:215
static const int TGT_SIGTERM
Definition linux.hh:230
static constexpr unsigned TGT_MAP_FIXED
Definition linux.hh:283
static constexpr int TGT_O_DSYNC
O_DSYNC.
Definition linux.hh:268
static constexpr int TGT_O_EXCL
O_EXCL.
Definition linux.hh:259
static const int TGT_SIGXCPU
Definition linux.hh:241
static constexpr int TGT_O_NONBLOCK
O_NONBLOCK.
Definition linux.hh:263
static constexpr int TGT_O_APPEND
O_APPEND.
Definition linux.hh:262
static constexpr int TGT_FSYNC
FSYNC.
Definition linux.hh:265
static const int TGT_SIGPROF
Definition linux.hh:244
static constexpr unsigned TGT_MREMAP_FIXED
Definition linux.hh:286
static const int TGT_SIGQUIT
Definition linux.hh:217
static constexpr int TGT_O_SYNC
O_SYNC.
Definition linux.hh:264
static const int TGT_SIGEMT
Definition linux.hh:222
static const int TGT_SIGSTOP
Definition linux.hh:232
static const int TGT_SIGLOST
Definition linux.hh:246
static constexpr int TGT_O_CREAT
O_CREAT.
Definition linux.hh:258
static const int TGT_SIGIO
Definition linux.hh:240
static constexpr int TGT_O_PATH
O_PATH.
Definition linux.hh:277
static const int TGT_SIGALRM
Definition linux.hh:229
static const int TGT_SIGPIPE
Definition linux.hh:228
static const int TGT_SIGSYS
Definition linux.hh:227
static constexpr unsigned TGT_MAP_POPULATE
Definition linux.hh:285
static constexpr int TGT_O_NOCTTY
O_NOCTTY.
Definition linux.hh:260
static constexpr int TGT_O_LARGEFILE
O_LARGEFILE.
Definition linux.hh:275
static const int TGT_SIGVTALRM
Definition linux.hh:243
static const int TGT_SIGPWR
Definition linux.hh:247
static constexpr int TGT_O_DIRECTORY
O_DIRECTORY.
Definition linux.hh:273
static const int TGT_SIGTTOU
Definition linux.hh:238
static const int TGT_SIGFPE
Definition linux.hh:223
static constexpr int TGT_O_NOINHERIT
O_NOINHERIT.
Definition linux.hh:270
static const int TGT_SIGUSR1
Definition linux.hh:248
static constexpr unsigned TGT_MAP_PRIVATE
Definition linux.hh:282
static const int TGT_SIGABRT
Definition linux.hh:220
static constexpr int TGT_O_WRONLY
O_WRONLY.
Definition linux.hh:256
static const int TGT_SIGTRAP
Definition linux.hh:219
static constexpr int TGT_O_TRUNC
O_TRUNC.
Definition linux.hh:261
static const int TGT_SIGPOLL
Definition linux.hh:239
static constexpr int TGT_O_NOATIME
O_NOATIME.
Definition linux.hh:276
uint32_t size_t
Definition linux.hh:293
static constexpr int TGT_O_DIRECT
O_DIRECT.
Definition linux.hh:271
static const int TGT_SIGPIPE
Definition linux.hh:63
static const int TGT_SIGABRT
Definition linux.hh:55
static const int TGT_SIGSYS
Definition linux.hh:62
static constexpr unsigned TGT_MAP_SHARED
Definition linux.hh:114
static const int TGT_SIGSTOP
Definition linux.hh:67
static constexpr int TGT_O_RDONLY
open(2) flag values.
Definition linux.hh:88
static const int TGT_SIGURG
Definition linux.hh:66
static const int TGT_SIGWINCH
Definition linux.hh:80
uint64_t dev_t
Definition linux.hh:122
static constexpr int TGT_O_NOCTTY
O_NOCTTY.
Definition linux.hh:93
static const int TGT_SIGUSR1
Definition linux.hh:83
static const int TGT_SIGPWR
Definition linux.hh:82
static const int TGT_SIGKILL
Definition linux.hh:59
static constexpr int TGT_O_APPEND
O_APPEND.
Definition linux.hh:95
static const int TGT_SIGXCPU
Definition linux.hh:76
static const int TGT_SIGPOLL
Definition linux.hh:74
static const int TGT_SIGUSR2
Definition linux.hh:84
static constexpr unsigned TGT_MAP_PRIVATE
Definition linux.hh:115
static const int TGT_SIGCONT
Definition linux.hh:69
static void archClone(uint64_t flags, Process *pp, Process *cp, ThreadContext *ptc, ThreadContext *ctc, uint64_t stack, uint64_t tls)
Definition linux.hh:199
static const int TGT_SIGCLD
Definition linux.hh:71
static const int TGT_SIGHUP
Definition linux.hh:50
static constexpr unsigned TGT_MREMAP_FIXED
Definition linux.hh:119
static const int TGT_SIGILL
Definition linux.hh:53
static const int TGT_SIGFPE
Definition linux.hh:58
static constexpr int TGT_O_DIRECTORY
O_DIRECTORY.
Definition linux.hh:106
static constexpr int TGT_O_TRUNC
O_TRUNC.
Definition linux.hh:94
static constexpr unsigned TGT_MAP_POPULATE
Definition linux.hh:118
static constexpr int TGT_FASYNC
FASYNC.
Definition linux.hh:99
static const int TGT_SIGTTIN
Definition linux.hh:72
static constexpr int TGT_O_DSYNC
O_DSYNC.
Definition linux.hh:101
static constexpr int TGT_O_SYNC
O_SYNC.
Definition linux.hh:97
static constexpr int TGT_O_NONBLOCK
O_NONBLOCK.
Definition linux.hh:96
static const int TGT_SIGLOST
Definition linux.hh:81
static const int TGT_SIGVTALRM
Definition linux.hh:78
uint32_t mode_t
Definition linux.hh:124
uint32_t uid_t
Definition linux.hh:126
static constexpr int TGT_O_EXCL
O_EXCL.
Definition linux.hh:92
static const int TGT_SIGALRM
Definition linux.hh:64
static const int TGT_SIGIOT
Definition linux.hh:56
static constexpr int TGT_O_PATH
O_PATH.
Definition linux.hh:110
static constexpr int TGT_O_CREAT
O_CREAT.
Definition linux.hh:91
uint64_t blkcnt_t
Definition linux.hh:130
static const int TGT_SIGINT
Definition linux.hh:51
static const int TGT_SIGCHLD
Definition linux.hh:70
static constexpr unsigned TGT_MAP_FIXED
Definition linux.hh:116
static constexpr unsigned TGT_MAP_ANONYMOUS
Definition linux.hh:117
uint64_t blksize_t
Definition linux.hh:129
static const int TGT_SIGTSTP
Definition linux.hh:68
static constexpr int TGT_O_DIRECT
O_DIRECT.
Definition linux.hh:104
static constexpr int TGT_O_NOFOLLOW
O_NOFOLLOW.
Definition linux.hh:105
static const int TGT_SIGBUS
Definition linux.hh:60
static const int TGT_SIGTTOU
Definition linux.hh:73
uint32_t nlink_t
Definition linux.hh:125
static const int TGT_SIGIO
Definition linux.hh:75
static constexpr int TGT_O_NOINHERIT
O_NOINHERIT.
Definition linux.hh:103
static constexpr int TGT_O_NOATIME
O_NOATIME.
Definition linux.hh:109
static const int TGT_SIGEMT
Definition linux.hh:57
static const int TGT_SIGTRAP
Definition linux.hh:54
static constexpr int TGT_O_RDWR
O_RDWR.
Definition linux.hh:90
static const int TGT_SIGSEGV
Definition linux.hh:61
uint32_t gid_t
Definition linux.hh:127
static constexpr int TGT_FSYNC
FSYNC.
Definition linux.hh:98
static const int TGT_SIGPROF
Definition linux.hh:79
static const int TGT_SIGQUIT
Definition linux.hh:52
static const int TGT_SIGTERM
Definition linux.hh:65
uint64_t ino_t
Definition linux.hh:123
static constexpr int TGT_O_WRONLY
O_WRONLY.
Definition linux.hh:89
static const int TGT_SIGXFSZ
Definition linux.hh:77
static constexpr int TGT_O_LARGEFILE
O_LARGEFILE.
Definition linux.hh:108
static constexpr int TGT_O_CLOEXEC
O_CLOEXEC.
Definition linux.hh:102
static const ByteOrder byteOrder
Definition linux.hh:44
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual BaseISA * getIsaPtr() const =0
virtual void setReg(const RegId &reg, RegVal val)
constexpr uint64_t sext(uint64_t val)
Sign-extend an N-bit value to 64 bits.
Definition bitfield.hh:129
uint8_t flags
Definition helpers.cc:87
Bitfield< 7, 0 > ptc
constexpr auto & StackPointerReg
Definition int.hh:141
constexpr auto & ThreadPointerReg
Definition int.hh:142
Bitfield< 17, 16 > stack
Definition misc.hh:602
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Definition binary32.hh:36
Limit struct for getrlimit/setrlimit.
Definition linux.hh:298
uint32_t rlim_cur
soft limit
Definition linux.hh:299
uint32_t rlim_max
hard limit
Definition linux.hh:300

Generated on Tue Jun 18 2024 16:24:04 for gem5 by doxygen 1.11.0