gem5  v22.0.0.2
freebsd.hh
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 Ruslan Bukin <br@bsdpad.com>
3  * All rights reserved.
4  *
5  * This software was developed by the University of Cambridge Computer
6  * Laboratory as part of the CTSRD Project, with support from the UK Higher
7  * Education Innovation Fund (HEIF).
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions are
11  * met: redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer;
13  * redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in the
15  * documentation and/or other materials provided with the distribution;
16  * neither the name of the copyright holders nor the names of its
17  * contributors may be used to endorse or promote products derived from
18  * this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 #ifndef __ARCH_ARM_FREEBSD_FREEBSD_HH__
34 #define __ARCH_ARM_FREEBSD_FREEBSD_HH__
35 
36 #include <map>
37 
38 #include "kern/freebsd/freebsd.hh"
40 #include "sim/byteswap.hh"
41 
42 namespace gem5
43 {
44 
45 class ArmFreebsd : public FreeBSD
46 {
47  public:
48  static const ByteOrder byteOrder = ByteOrder::little;
49 };
50 
51 class ArmFreebsd32 : public ArmFreebsd, public OpenFlagTable<ArmFreebsd32>
52 {
53  public:
55  typedef uint32_t size_t;
57  typedef uint32_t off_t;
58  typedef int32_t time_t;
59  typedef int32_t clock_t;
61 
63  static constexpr int TGT_O_RDONLY = 0x00000000;
65  static constexpr int TGT_O_WRONLY = 0x00000001;
66  static constexpr int TGT_O_RDWR = 0x00000002;
67  static constexpr int TGT_O_CREAT = 0x00000200;
68  static constexpr int TGT_O_EXCL = 0x00000800;
69  static constexpr int TGT_O_NOCTTY = 0x00008000;
70  static constexpr int TGT_O_TRUNC = 0x00000400;
71  static constexpr int TGT_O_APPEND = 0x00000008;
72  static constexpr int TGT_O_NONBLOCK = 0x00000004;
73  static constexpr int TGT_O_SYNC = 0x00000080;
74  static constexpr int TGT_FASYNC = 0x00000040;
75  static constexpr int TGT_O_DIRECT = 0x00010000;
76  static constexpr int TGT_O_DIRECTORY = 0x00020000;
77  static constexpr int TGT_O_NOFOLLOW = 0x00000100;
78  static constexpr int TGT_O_CLOEXEC = 0x00100000;
79 
80 
82  static constexpr unsigned TGT_MAP_SHARED = 0x0001;
83  static constexpr unsigned TGT_MAP_PRIVATE = 0x0002;
84  static constexpr unsigned TGT_MAP_ANONYMOUS = 0x1000;
85  static constexpr unsigned TGT_MAP_FIXED = 0x0010;
86 
88  struct rlimit
89  {
90  uint32_t rlim_cur;
91  uint32_t rlim_max;
92  };
93 
95  struct timeval
96  {
97  int32_t tv_sec;
98  int32_t tv_usec;
99  };
100 
101  // For writev/readv
102  struct tgt_iovec
103  {
104  uint32_t iov_base; // void *
105  uint32_t iov_len;
106  };
107 
108  /*
109  * sizeof st 120
110  * sizeof st_dev 4
111  * sizeof st_ino 4
112  * sizeof st_mode 2
113  * sizeof st_nlink 2
114  * sizeof st_uid 4
115  * sizeof st_gid 4
116  * sizeof st_rdev 4
117  * sizeof st_atim 16
118  * sizeof st_size 8
119  * sizeof st_blocks 8
120  * sizeof st_blksize 4
121  * sizeof st_flags 4
122  * sizeof st_gen 4
123  * sizeof st_lspare 4
124  */
125 
126  struct tgt_stat
127  {
128  uint32_t st_dev;
129  uint32_t st_ino;
130  uint16_t st_mode;
131  uint16_t st_nlink;
132  uint32_t st_uid;
133  uint32_t st_gid;
134  uint32_t st_rdev;
135  uint64_t st_atimeX;
136  uint64_t st_atime_nsec;
137  uint64_t st_mtimeX;
138  uint64_t st_mtime_nsec;
139  uint64_t st_ctimeX;
140  uint64_t st_ctime_nsec;
141  uint64_t st_size;
142  uint64_t st_blocks;
143  uint32_t st_blksize;
144  uint32_t st_flags;
145  uint32_t st_gen;
146  uint32_t st_lspare;
147  uint64_t st_birthtimX;
148  uint64_t st_birthtim;
149  };
150 
151  struct tgt_stat64
152  {
153  uint32_t st_dev;
154  uint32_t st_ino;
155  uint16_t st_mode;
156  uint16_t st_nlink;
157  uint32_t st_uid;
158  uint32_t st_gid;
159  uint32_t st_rdev;
160  uint64_t st_atimeX;
161  uint64_t st_atime_nsec;
162  uint64_t st_mtimeX;
163  uint64_t st_mtime_nsec;
164  uint64_t st_ctimeX;
165  uint64_t st_ctime_nsec;
166  uint64_t st_size;
167  uint64_t st_blocks;
168  uint32_t st_blksize;
169  uint32_t st_flags;
170  uint32_t st_gen;
171  uint32_t st_lspare;
172  uint64_t st_birthtimX;
173  uint64_t st_birthtim;
174  };
175 
177  struct rusage
178  {
179  struct timeval ru_utime;
180  struct timeval ru_stime;
181  int32_t ru_maxrss;
182  int32_t ru_ixrss;
183  int32_t ru_idrss;
184  int32_t ru_isrss;
185  int32_t ru_minflt;
186  int32_t ru_majflt;
187  int32_t ru_nswap;
188  int32_t ru_inblock;
189  int32_t ru_oublock;
190  int32_t ru_msgsnd;
191  int32_t ru_msgrcv;
192  int32_t ru_nsignals;
193  int32_t ru_nvcsw;
194  int32_t ru_nivcsw;
195  };
196 
198  struct tms
199  {
200  int32_t tms_utime;
201  int32_t tms_stime;
202  int32_t tms_cutime;
203  int32_t tms_cstime;
204  };
205 };
206 
207 class ArmFreebsd64 : public ArmFreebsd, public OpenFlagTable<ArmFreebsd64>
208 {
209  public:
210 
212  typedef uint64_t size_t;
214  typedef uint64_t off_t;
215  typedef int64_t time_t;
216  typedef int64_t clock_t;
218 
220  static constexpr int TGT_O_RDONLY = 0x00000000;
222  static constexpr int TGT_O_WRONLY = 0x00000001;
223  static constexpr int TGT_O_RDWR = 0x00000002;
224  static constexpr int TGT_O_CREAT = 0x00000200;
225  static constexpr int TGT_O_EXCL = 0x00000800;
226  static constexpr int TGT_O_NOCTTY = 0x00008000;
227  static constexpr int TGT_O_TRUNC = 0x00000400;
228  static constexpr int TGT_O_APPEND = 0x00000008;
229  static constexpr int TGT_O_NONBLOCK = 0x00000004;
230  static constexpr int TGT_O_SYNC = 0x00000080;
231  static constexpr int TGT_FASYNC = 0x00000040;
232  static constexpr int TGT_O_DIRECT = 0x00010000;
233  static constexpr int TGT_O_DIRECTORY = 0x00020000;
234  static constexpr int TGT_O_NOFOLLOW = 0x00000100;
235  static constexpr int TGT_O_CLOEXEC = 0x00100000;
236 
237 
239  static constexpr unsigned TGT_MAP_SHARED = 0x0001;
240  static constexpr unsigned TGT_MAP_PRIVATE = 0x0002;
241  static constexpr unsigned TGT_MAP_ANONYMOUS = 0x1000;
242  static constexpr unsigned TGT_MAP_FIXED = 0x0010;
243 
245  static const int TGT_RUSAGE_SELF = 0;
247  static const int TGT_RUSAGE_CHILDREN = -1;
248  static const int TGT_RUSAGE_THREAD = 1;
250 
253  {
269  };
270 
272  struct rlimit
273  {
274  uint64_t rlim_cur;
275  uint64_t rlim_max;
276  };
277 
279  struct timeval
280  {
281  int64_t tv_sec;
282  int64_t tv_usec;
283  };
284 
285  // For writev/readv
286  struct tgt_iovec
287  {
288  uint64_t iov_base; // void *
289  uint64_t iov_len;
290  };
291 
292  struct tgt_stat
293  {
294  uint32_t st_dev;
295  uint32_t st_ino;
296  uint16_t st_mode;
297  uint16_t st_nlink;
298  uint32_t st_uid;
299  uint32_t st_gid;
300  uint32_t st_rdev;
301  uint64_t st_atimeX;
302  uint64_t st_atime_nsec;
303  uint64_t st_mtimeX;
304  uint64_t st_mtime_nsec;
305  uint64_t st_ctimeX;
306  uint64_t st_ctime_nsec;
307  uint64_t st_size;
308  uint64_t st_blocks;
309  uint32_t st_blksize;
310  uint32_t st_flags;
311  uint32_t st_gen;
312  uint32_t st_lspare;
313  uint64_t st_birthtimX;
314  uint64_t st_birthtim;
315  };
316 
317  struct tgt_stat64
318  {
319  uint32_t st_dev;
320  uint32_t st_ino;
321  uint16_t st_mode;
322  uint16_t st_nlink;
323  uint32_t st_uid;
324  uint32_t st_gid;
325  uint32_t st_rdev;
326  uint64_t st_atimeX;
327  uint64_t st_atime_nsec;
328  uint64_t st_mtimeX;
329  uint64_t st_mtime_nsec;
330  uint64_t st_ctimeX;
331  uint64_t st_ctime_nsec;
332  uint64_t st_size;
333  uint64_t st_blocks;
334  uint32_t st_blksize;
335  uint32_t st_flags;
336  uint32_t st_gen;
337  uint32_t st_lspare;
338  uint64_t st_birthtimX;
339  uint64_t st_birthtim;
340  };
341 
343  struct rusage
344  {
345  struct timeval ru_utime;
346  struct timeval ru_stime;
347  int64_t ru_maxrss;
348  int64_t ru_ixrss;
349  int64_t ru_idrss;
350  int64_t ru_isrss;
351  int64_t ru_minflt;
352  int64_t ru_majflt;
353  int64_t ru_nswap;
354  int64_t ru_inblock;
355  int64_t ru_oublock;
356  int64_t ru_msgsnd;
357  int64_t ru_msgrcv;
358  int64_t ru_nsignals;
359  int64_t ru_nvcsw;
360  int64_t ru_nivcsw;
361  };
362 
364  struct tms
365  {
366  int64_t tms_utime;
367  int64_t tms_stime;
368  int64_t tms_cutime;
369  int64_t tms_cstime;
370  };
371 };
372 
373 } // namespace gem5
374 
375 #endif
gem5::ArmFreebsd64::TGT_RLIMIT_NOFILE
@ TGT_RLIMIT_NOFILE
Definition: freebsd.hh:262
gem5::ArmFreebsd64::TGT_RLIMIT_SBSIZE
@ TGT_RLIMIT_SBSIZE
Definition: freebsd.hh:263
gem5::ArmFreebsd64::TGT_RLIMIT_AS
@ TGT_RLIMIT_AS
Definition: freebsd.hh:265
gem5::ArmFreebsd32::tgt_stat::st_flags
uint32_t st_flags
Definition: freebsd.hh:144
gem5::ArmFreebsd32::tgt_stat
Definition: freebsd.hh:126
gem5::ArmFreebsd32::clock_t
int32_t clock_t
Definition: freebsd.hh:59
gem5::ArmFreebsd64::rusage::ru_ixrss
int64_t ru_ixrss
integral shared memory size
Definition: freebsd.hh:348
gem5::ArmFreebsd64::TGT_O_APPEND
static constexpr int TGT_O_APPEND
O_APPEND.
Definition: freebsd.hh:228
gem5::ArmFreebsd64::rusage::ru_oublock
int64_t ru_oublock
block output operations
Definition: freebsd.hh:355
gem5::ArmFreebsd32::TGT_O_EXCL
static constexpr int TGT_O_EXCL
O_EXCL.
Definition: freebsd.hh:68
gem5::ArmFreebsd64::TGT_RLIMIT_DATA
@ TGT_RLIMIT_DATA
Definition: freebsd.hh:256
gem5::ArmFreebsd32::TGT_O_SYNC
static constexpr int TGT_O_SYNC
O_SYNC.
Definition: freebsd.hh:73
gem5::ArmFreebsd
Definition: freebsd.hh:45
gem5::ArmFreebsd64::tgt_stat::st_birthtimX
uint64_t st_birthtimX
Definition: freebsd.hh:313
gem5::ArmFreebsd32::tms::tms_stime
int32_t tms_stime
system time
Definition: freebsd.hh:201
gem5::ArmFreebsd32::TGT_O_RDONLY
static constexpr int TGT_O_RDONLY
open(2) flag values.
Definition: freebsd.hh:64
gem5::ArmFreebsd64::rusage::ru_nsignals
int64_t ru_nsignals
signals received
Definition: freebsd.hh:358
gem5::ArmFreebsd64::TGT_RLIMIT_RSS
@ TGT_RLIMIT_RSS
Definition: freebsd.hh:259
gem5::ArmFreebsd64::tgt_stat::st_blocks
uint64_t st_blocks
Definition: freebsd.hh:308
gem5::ArmFreebsd64::TGT_RLIMIT_MEMLOCK
@ TGT_RLIMIT_MEMLOCK
Definition: freebsd.hh:260
gem5::ArmFreebsd64::TGT_RLIMIT_FSIZE
@ TGT_RLIMIT_FSIZE
Definition: freebsd.hh:255
gem5::ArmFreebsd32::tms::tms_cstime
int32_t tms_cstime
system time of children
Definition: freebsd.hh:203
gem5::ArmFreebsd64::tgt_stat::st_ino
uint32_t st_ino
Definition: freebsd.hh:295
gem5::ArmFreebsd64::rlimit::rlim_cur
uint64_t rlim_cur
soft limit
Definition: freebsd.hh:274
gem5::ArmFreebsd32::tgt_stat::st_ctimeX
uint64_t st_ctimeX
Definition: freebsd.hh:139
gem5::ArmFreebsd32::rusage::ru_msgsnd
int32_t ru_msgsnd
messages sent
Definition: freebsd.hh:190
gem5::ArmFreebsd64::TGT_MAP_ANONYMOUS
static constexpr unsigned TGT_MAP_ANONYMOUS
Definition: freebsd.hh:241
gem5::ArmFreebsd32::tgt_stat64::st_birthtimX
uint64_t st_birthtimX
Definition: freebsd.hh:172
gem5::ArmFreebsd64::tgt_stat::st_blksize
uint32_t st_blksize
Definition: freebsd.hh:309
gem5::ArmFreebsd64::TGT_MAP_SHARED
static constexpr unsigned TGT_MAP_SHARED
For mmap().
Definition: freebsd.hh:239
gem5::ArmFreebsd32::tgt_stat64::st_blocks
uint64_t st_blocks
Definition: freebsd.hh:167
gem5::ArmFreebsd64::TGT_RLIMIT_KQUEUES
@ TGT_RLIMIT_KQUEUES
Definition: freebsd.hh:268
gem5::ArmFreebsd32::tgt_stat::st_birthtimX
uint64_t st_birthtimX
Definition: freebsd.hh:147
gem5::ArmFreebsd32::rusage
For getrusage().
Definition: freebsd.hh:177
gem5::ArmFreebsd32::tgt_stat::st_birthtim
uint64_t st_birthtim
Definition: freebsd.hh:148
gem5::ArmFreebsd32::rusage::ru_inblock
int32_t ru_inblock
block input operations
Definition: freebsd.hh:188
gem5::ArmFreebsd32::TGT_O_DIRECTORY
static constexpr int TGT_O_DIRECTORY
O_DIRECTORY.
Definition: freebsd.hh:76
gem5::ArmFreebsd64::tgt_stat64::st_size
uint64_t st_size
Definition: freebsd.hh:332
gem5::ArmFreebsd32::tgt_stat::st_dev
uint32_t st_dev
Definition: freebsd.hh:128
gem5::ArmFreebsd64::tgt_stat64::st_dev
uint32_t st_dev
Definition: freebsd.hh:319
gem5::ArmFreebsd32::timeval
For gettimeofday().
Definition: freebsd.hh:95
gem5::ArmFreebsd64::time_t
int64_t time_t
Definition: freebsd.hh:215
gem5::ArmFreebsd64
Definition: freebsd.hh:207
gem5::ArmFreebsd32::rusage::ru_nsignals
int32_t ru_nsignals
signals received
Definition: freebsd.hh:192
gem5::ArmFreebsd64::rusage::ru_majflt
int64_t ru_majflt
page faults
Definition: freebsd.hh:352
gem5::ArmFreebsd32::tgt_stat64::st_lspare
uint32_t st_lspare
Definition: freebsd.hh:171
gem5::ArmFreebsd32::rlimit
Limit struct for getrlimit/setrlimit.
Definition: freebsd.hh:88
gem5::ArmFreebsd64::tgt_stat::st_birthtim
uint64_t st_birthtim
Definition: freebsd.hh:314
gem5::ArmFreebsd64::tgt_stat64::st_gen
uint32_t st_gen
Definition: freebsd.hh:336
gem5::ArmFreebsd64::tgt_stat64::st_ctime_nsec
uint64_t st_ctime_nsec
Definition: freebsd.hh:331
gem5::ArmFreebsd32::TGT_MAP_PRIVATE
static constexpr unsigned TGT_MAP_PRIVATE
Definition: freebsd.hh:83
gem5::ArmFreebsd32::tgt_stat::st_uid
uint32_t st_uid
Definition: freebsd.hh:132
gem5::ArmFreebsd64::rusage
For getrusage().
Definition: freebsd.hh:343
gem5::ArmFreebsd32::TGT_O_NOFOLLOW
static constexpr int TGT_O_NOFOLLOW
O_NOFOLLOW.
Definition: freebsd.hh:77
gem5::ArmFreebsd64::tgt_stat::st_size
uint64_t st_size
Definition: freebsd.hh:307
gem5::ArmFreebsd32::tgt_stat64::st_gen
uint32_t st_gen
Definition: freebsd.hh:170
gem5::ArmFreebsd32::tgt_stat64::st_mtime_nsec
uint64_t st_mtime_nsec
Definition: freebsd.hh:163
gem5::ArmFreebsd32::timeval::tv_sec
int32_t tv_sec
seconds
Definition: freebsd.hh:97
gem5::ArmFreebsd32::tgt_stat64::st_size
uint64_t st_size
Definition: freebsd.hh:166
gem5::ArmFreebsd32
Definition: freebsd.hh:51
gem5::ArmFreebsd64::rusage::ru_utime
struct timeval ru_utime
user time used
Definition: freebsd.hh:345
gem5::ArmFreebsd32::tgt_stat64::st_gid
uint32_t st_gid
Definition: freebsd.hh:158
gem5::ArmFreebsd64::tgt_stat::st_dev
uint32_t st_dev
Definition: freebsd.hh:294
gem5::ArmFreebsd64::tgt_iovec::iov_base
uint64_t iov_base
Definition: freebsd.hh:288
gem5::ArmFreebsd32::tgt_iovec::iov_len
uint32_t iov_len
Definition: freebsd.hh:105
gem5::ArmFreebsd64::tgt_iovec
Definition: freebsd.hh:286
gem5::ArmFreebsd64::tgt_stat::st_uid
uint32_t st_uid
Definition: freebsd.hh:298
gem5::ArmFreebsd32::rusage::ru_msgrcv
int32_t ru_msgrcv
messages received
Definition: freebsd.hh:191
gem5::ArmFreebsd64::rusage::ru_stime
struct timeval ru_stime
system time used
Definition: freebsd.hh:346
gem5::ArmFreebsd64::TGT_O_NOFOLLOW
static constexpr int TGT_O_NOFOLLOW
O_NOFOLLOW.
Definition: freebsd.hh:234
gem5::ArmFreebsd64::tms
For times().
Definition: freebsd.hh:364
gem5::ArmFreebsd64::rusage::ru_isrss
int64_t ru_isrss
integral unshared stack "
Definition: freebsd.hh:350
gem5::ArmFreebsd32::tgt_stat64::st_nlink
uint16_t st_nlink
Definition: freebsd.hh:156
gem5::ArmFreebsd32::TGT_O_NONBLOCK
static constexpr int TGT_O_NONBLOCK
O_NONBLOCK.
Definition: freebsd.hh:72
gem5::ArmFreebsd64::tgt_stat::st_lspare
uint32_t st_lspare
Definition: freebsd.hh:312
gem5::ArmFreebsd64::tgt_stat::st_mtime_nsec
uint64_t st_mtime_nsec
Definition: freebsd.hh:304
gem5::ArmFreebsd32::tms::tms_cutime
int32_t tms_cutime
user time of children
Definition: freebsd.hh:202
gem5::ArmFreebsd64::TGT_O_CREAT
static constexpr int TGT_O_CREAT
O_CREAT.
Definition: freebsd.hh:224
gem5::ArmFreebsd64::tgt_stat
Definition: freebsd.hh:292
gem5::ArmFreebsd64::TGT_RLIMIT_NPROC
@ TGT_RLIMIT_NPROC
Definition: freebsd.hh:261
gem5::ArmFreebsd64::tms::tms_utime
int64_t tms_utime
user time
Definition: freebsd.hh:366
gem5::ArmFreebsd64::tgt_stat::st_ctime_nsec
uint64_t st_ctime_nsec
Definition: freebsd.hh:306
gem5::ArmFreebsd64::tgt_iovec::iov_len
uint64_t iov_len
Definition: freebsd.hh:289
gem5::FreeBSD
This class encapsulates the types, structures, constants, functions, and syscall-number mappings spec...
Definition: freebsd.hh:64
gem5::ArmFreebsd32::rlimit::rlim_max
uint32_t rlim_max
hard limit
Definition: freebsd.hh:91
gem5::ArmFreebsd64::TGT_O_DIRECT
static constexpr int TGT_O_DIRECT
O_DIRECT.
Definition: freebsd.hh:232
gem5::ArmFreebsd32::size_t
uint32_t size_t
Basic ARM FreeBSD types.
Definition: freebsd.hh:56
gem5::ArmFreebsd64::tgt_stat::st_flags
uint32_t st_flags
Definition: freebsd.hh:310
gem5::ArmFreebsd64::TGT_O_NONBLOCK
static constexpr int TGT_O_NONBLOCK
O_NONBLOCK.
Definition: freebsd.hh:229
gem5::ArmFreebsd::byteOrder
static const ByteOrder byteOrder
Definition: freebsd.hh:48
gem5::ArmFreebsd64::tgt_stat64::st_mode
uint16_t st_mode
Definition: freebsd.hh:321
gem5::ArmFreebsd64::tgt_stat64::st_atimeX
uint64_t st_atimeX
Definition: freebsd.hh:326
gem5::OpenFlagTable
Definition: flag_tables.hh:60
gem5::ArmFreebsd32::rusage::ru_nswap
int32_t ru_nswap
swaps
Definition: freebsd.hh:187
gem5::ArmFreebsd64::tgt_stat::st_atime_nsec
uint64_t st_atime_nsec
Definition: freebsd.hh:302
gem5::ArmFreebsd64::TGT_RLIMIT_CORE
@ TGT_RLIMIT_CORE
Definition: freebsd.hh:258
gem5::ArmFreebsd32::rusage::ru_utime
struct timeval ru_utime
user time used
Definition: freebsd.hh:179
gem5::ArmFreebsd32::tgt_stat64::st_atimeX
uint64_t st_atimeX
Definition: freebsd.hh:160
gem5::ArmFreebsd32::rusage::ru_ixrss
int32_t ru_ixrss
integral shared memory size
Definition: freebsd.hh:182
gem5::ArmFreebsd64::timeval
For gettimeofday().
Definition: freebsd.hh:279
gem5::ArmFreebsd64::TGT_RUSAGE_THREAD
static const int TGT_RUSAGE_THREAD
Definition: freebsd.hh:248
gem5::ArmFreebsd32::tgt_stat::st_atime_nsec
uint64_t st_atime_nsec
Definition: freebsd.hh:136
gem5::ArmFreebsd64::timeval::tv_sec
int64_t tv_sec
seconds
Definition: freebsd.hh:281
gem5::ArmFreebsd64::TGT_RUSAGE_SELF
static const int TGT_RUSAGE_SELF
For getrusage().
Definition: freebsd.hh:246
gem5::ArmFreebsd32::tgt_stat64::st_flags
uint32_t st_flags
Definition: freebsd.hh:169
gem5::ArmFreebsd32::tms::tms_utime
int32_t tms_utime
user time
Definition: freebsd.hh:200
gem5::ArmFreebsd32::timeval::tv_usec
int32_t tv_usec
microseconds
Definition: freebsd.hh:98
gem5::ArmFreebsd64::tgt_stat64::st_blksize
uint32_t st_blksize
Definition: freebsd.hh:334
gem5::ArmFreebsd64::size_t
uint64_t size_t
Basic ARM FreeBSD types.
Definition: freebsd.hh:213
gem5::ArmFreebsd32::TGT_MAP_FIXED
static constexpr unsigned TGT_MAP_FIXED
Definition: freebsd.hh:85
gem5::ArmFreebsd32::rusage::ru_idrss
int32_t ru_idrss
integral unshared data "
Definition: freebsd.hh:183
gem5::ArmFreebsd32::TGT_MAP_SHARED
static constexpr unsigned TGT_MAP_SHARED
For mmap().
Definition: freebsd.hh:82
gem5::ArmFreebsd64::tgt_stat64::st_birthtim
uint64_t st_birthtim
Definition: freebsd.hh:339
gem5::ArmFreebsd32::tgt_stat64::st_ctimeX
uint64_t st_ctimeX
Definition: freebsd.hh:164
gem5::ArmFreebsd64::rlimit
Limit struct for getrlimit/setrlimit.
Definition: freebsd.hh:272
gem5::ArmFreebsd32::rusage::ru_majflt
int32_t ru_majflt
page faults
Definition: freebsd.hh:186
gem5::ArmFreebsd32::tgt_stat::st_rdev
uint32_t st_rdev
Definition: freebsd.hh:134
gem5::ArmFreebsd64::TGT_O_EXCL
static constexpr int TGT_O_EXCL
O_EXCL.
Definition: freebsd.hh:225
gem5::ArmFreebsd64::TGT_O_WRONLY
static constexpr int TGT_O_WRONLY
O_WRONLY.
Definition: freebsd.hh:222
gem5::ArmFreebsd32::TGT_O_DIRECT
static constexpr int TGT_O_DIRECT
O_DIRECT.
Definition: freebsd.hh:75
gem5::ArmFreebsd64::TGT_RLIMIT_SWAP
@ TGT_RLIMIT_SWAP
Definition: freebsd.hh:267
gem5::ArmFreebsd64::TGT_O_SYNC
static constexpr int TGT_O_SYNC
O_SYNC.
Definition: freebsd.hh:230
gem5::ArmFreebsd64::TGT_MAP_FIXED
static constexpr unsigned TGT_MAP_FIXED
Definition: freebsd.hh:242
gem5::ArmFreebsd64::rlimit::rlim_max
uint64_t rlim_max
hard limit
Definition: freebsd.hh:275
gem5::ArmFreebsd64::tgt_stat64::st_lspare
uint32_t st_lspare
Definition: freebsd.hh:337
gem5::ArmFreebsd32::TGT_O_CLOEXEC
static constexpr int TGT_O_CLOEXEC
O_CLOEXEC.
Definition: freebsd.hh:78
gem5::ArmFreebsd64::rusage::ru_nivcsw
int64_t ru_nivcsw
involuntary "
Definition: freebsd.hh:360
gem5::ArmFreebsd64::rusage::ru_nswap
int64_t ru_nswap
swaps
Definition: freebsd.hh:353
gem5::ArmFreebsd64::tgt_stat64::st_ctimeX
uint64_t st_ctimeX
Definition: freebsd.hh:330
gem5::ArmFreebsd32::rusage::ru_minflt
int32_t ru_minflt
page reclaims - total vmfaults
Definition: freebsd.hh:185
gem5::ArmFreebsd32::tgt_stat64::st_atime_nsec
uint64_t st_atime_nsec
Definition: freebsd.hh:161
gem5::ArmFreebsd64::rusage::ru_maxrss
int64_t ru_maxrss
max rss
Definition: freebsd.hh:347
gem5::ArmFreebsd32::TGT_O_TRUNC
static constexpr int TGT_O_TRUNC
O_TRUNC.
Definition: freebsd.hh:70
gem5::ArmFreebsd32::tgt_iovec
Definition: freebsd.hh:102
gem5::ArmFreebsd64::tgt_stat64::st_mtimeX
uint64_t st_mtimeX
Definition: freebsd.hh:328
gem5::ArmFreebsd64::tgt_stat64::st_mtime_nsec
uint64_t st_mtime_nsec
Definition: freebsd.hh:329
gem5::ArmFreebsd32::tgt_stat::st_gen
uint32_t st_gen
Definition: freebsd.hh:145
gem5::ArmFreebsd32::tgt_stat::st_mtime_nsec
uint64_t st_mtime_nsec
Definition: freebsd.hh:138
gem5::ArmFreebsd32::TGT_O_CREAT
static constexpr int TGT_O_CREAT
O_CREAT.
Definition: freebsd.hh:67
gem5::ArmFreebsd64::tgt_stat::st_rdev
uint32_t st_rdev
Definition: freebsd.hh:300
gem5::ArmFreebsd64::tgt_stat::st_mtimeX
uint64_t st_mtimeX
Definition: freebsd.hh:303
gem5::ArmFreebsd64::timeval::tv_usec
int64_t tv_usec
microseconds
Definition: freebsd.hh:282
gem5::ArmFreebsd64::tgt_stat64::st_nlink
uint16_t st_nlink
Definition: freebsd.hh:322
gem5::ArmFreebsd32::rusage::ru_maxrss
int32_t ru_maxrss
max rss
Definition: freebsd.hh:181
gem5::ArmFreebsd64::TGT_O_CLOEXEC
static constexpr int TGT_O_CLOEXEC
O_CLOEXEC.
Definition: freebsd.hh:235
gem5::ArmFreebsd64::rusage::ru_msgrcv
int64_t ru_msgrcv
messages received
Definition: freebsd.hh:357
gem5::ArmFreebsd32::tgt_stat64
Definition: freebsd.hh:151
gem5::ArmFreebsd32::tgt_stat64::st_blksize
uint32_t st_blksize
Definition: freebsd.hh:168
gem5::ArmFreebsd32::rusage::ru_nvcsw
int32_t ru_nvcsw
voluntary context switches
Definition: freebsd.hh:193
gem5::ArmFreebsd64::tgt_stat64
Definition: freebsd.hh:317
gem5::ArmFreebsd64::tgt_stat64::st_ino
uint32_t st_ino
Definition: freebsd.hh:320
gem5::ArmFreebsd64::clock_t
int64_t clock_t
Definition: freebsd.hh:216
gem5::ArmFreebsd32::rusage::ru_stime
struct timeval ru_stime
system time used
Definition: freebsd.hh:180
gem5::ArmFreebsd64::TGT_O_DIRECTORY
static constexpr int TGT_O_DIRECTORY
O_DIRECTORY.
Definition: freebsd.hh:233
gem5::ArmFreebsd64::tgt_stat::st_ctimeX
uint64_t st_ctimeX
Definition: freebsd.hh:305
gem5::ArmFreebsd32::tgt_stat64::st_mode
uint16_t st_mode
Definition: freebsd.hh:155
gem5::ArmFreebsd32::tgt_stat::st_atimeX
uint64_t st_atimeX
Definition: freebsd.hh:135
gem5::ArmFreebsd32::TGT_FASYNC
static constexpr int TGT_FASYNC
FASYNC.
Definition: freebsd.hh:74
gem5::ArmFreebsd64::tms::tms_cutime
int64_t tms_cutime
user time of children
Definition: freebsd.hh:368
gem5::ArmFreebsd64::tgt_stat64::st_flags
uint32_t st_flags
Definition: freebsd.hh:335
gem5::ArmFreebsd64::rusage::ru_nvcsw
int64_t ru_nvcsw
voluntary context switches
Definition: freebsd.hh:359
gem5::ArmFreebsd64::TGT_RLIMIT_CPU
@ TGT_RLIMIT_CPU
Definition: freebsd.hh:254
gem5::ArmFreebsd32::tgt_stat::st_nlink
uint16_t st_nlink
Definition: freebsd.hh:131
gem5::ArmFreebsd64::off_t
uint64_t off_t
Definition: freebsd.hh:214
gem5::ArmFreebsd32::time_t
int32_t time_t
Definition: freebsd.hh:58
gem5::ArmFreebsd32::tgt_stat64::st_mtimeX
uint64_t st_mtimeX
Definition: freebsd.hh:162
gem5::ArmFreebsd64::tgt_stat64::st_rdev
uint32_t st_rdev
Definition: freebsd.hh:325
gem5::ArmFreebsd64::tgt_stat64::st_birthtimX
uint64_t st_birthtimX
Definition: freebsd.hh:338
gem5::ArmFreebsd64::TGT_O_RDWR
static constexpr int TGT_O_RDWR
O_RDWR.
Definition: freebsd.hh:223
gem5::ArmFreebsd64::tgt_stat64::st_uid
uint32_t st_uid
Definition: freebsd.hh:323
gem5::ArmFreebsd32::tgt_stat::st_blksize
uint32_t st_blksize
Definition: freebsd.hh:143
gem5::ArmFreebsd32::rusage::ru_oublock
int32_t ru_oublock
block output operations
Definition: freebsd.hh:189
gem5::ArmFreebsd64::tgt_stat::st_mode
uint16_t st_mode
Definition: freebsd.hh:296
gem5::ArmFreebsd32::tms
For times().
Definition: freebsd.hh:198
gem5::ArmFreebsd64::tgt_stat::st_nlink
uint16_t st_nlink
Definition: freebsd.hh:297
gem5::ArmFreebsd64::TGT_O_TRUNC
static constexpr int TGT_O_TRUNC
O_TRUNC.
Definition: freebsd.hh:227
gem5::ArmFreebsd64::rusage::ru_idrss
int64_t ru_idrss
integral unshared data "
Definition: freebsd.hh:349
gem5::ArmFreebsd64::tms::tms_stime
int64_t tms_stime
system time
Definition: freebsd.hh:367
gem5::ArmFreebsd64::tgt_stat64::st_gid
uint32_t st_gid
Definition: freebsd.hh:324
gem5::ArmFreebsd32::tgt_stat::st_blocks
uint64_t st_blocks
Definition: freebsd.hh:142
gem5::ArmFreebsd32::tgt_iovec::iov_base
uint32_t iov_base
Definition: freebsd.hh:104
gem5::ArmFreebsd32::tgt_stat::st_ctime_nsec
uint64_t st_ctime_nsec
Definition: freebsd.hh:140
gem5::ArmFreebsd64::rusage::ru_msgsnd
int64_t ru_msgsnd
messages sent
Definition: freebsd.hh:356
gem5::ArmFreebsd32::tgt_stat64::st_uid
uint32_t st_uid
Definition: freebsd.hh:157
gem5::ArmFreebsd64::tgt_stat::st_gen
uint32_t st_gen
Definition: freebsd.hh:311
gem5::ArmFreebsd32::tgt_stat::st_size
uint64_t st_size
Definition: freebsd.hh:141
gem5::ArmFreebsd32::TGT_O_APPEND
static constexpr int TGT_O_APPEND
O_APPEND.
Definition: freebsd.hh:71
gem5::ArmFreebsd64::rlimit_resources
rlimit_resources
Resource enumeration for getrlimit().
Definition: freebsd.hh:252
gem5::ArmFreebsd32::TGT_O_WRONLY
static constexpr int TGT_O_WRONLY
O_WRONLY.
Definition: freebsd.hh:65
gem5::ArmFreebsd32::off_t
uint32_t off_t
Definition: freebsd.hh:57
gem5::ArmFreebsd32::tgt_stat64::st_ctime_nsec
uint64_t st_ctime_nsec
Definition: freebsd.hh:165
gem5::ArmFreebsd32::rusage::ru_nivcsw
int32_t ru_nivcsw
involuntary "
Definition: freebsd.hh:194
gem5::ArmFreebsd32::tgt_stat::st_lspare
uint32_t st_lspare
Definition: freebsd.hh:146
gem5
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Definition: gpu_translation_state.hh:37
freebsd.hh
gem5::ArmFreebsd32::TGT_MAP_ANONYMOUS
static constexpr unsigned TGT_MAP_ANONYMOUS
Definition: freebsd.hh:84
gem5::ArmFreebsd64::TGT_RLIMIT_NPTS
@ TGT_RLIMIT_NPTS
Definition: freebsd.hh:266
gem5::ArmFreebsd32::tgt_stat::st_mtimeX
uint64_t st_mtimeX
Definition: freebsd.hh:137
gem5::ArmFreebsd64::tgt_stat64::st_atime_nsec
uint64_t st_atime_nsec
Definition: freebsd.hh:327
gem5::ArmFreebsd32::tgt_stat64::st_dev
uint32_t st_dev
Definition: freebsd.hh:153
gem5::ArmFreebsd32::tgt_stat64::st_ino
uint32_t st_ino
Definition: freebsd.hh:154
gem5::ArmFreebsd64::tgt_stat64::st_blocks
uint64_t st_blocks
Definition: freebsd.hh:333
gem5::ArmFreebsd64::TGT_RLIMIT_VMEM
@ TGT_RLIMIT_VMEM
Definition: freebsd.hh:264
gem5::ArmFreebsd32::rlimit::rlim_cur
uint32_t rlim_cur
soft limit
Definition: freebsd.hh:90
gem5::ArmFreebsd32::tgt_stat::st_ino
uint32_t st_ino
Definition: freebsd.hh:129
gem5::ArmFreebsd64::TGT_RUSAGE_CHILDREN
static const int TGT_RUSAGE_CHILDREN
Definition: freebsd.hh:247
gem5::ArmFreebsd64::TGT_O_RDONLY
static constexpr int TGT_O_RDONLY
open(2) flag values.
Definition: freebsd.hh:221
gem5::ArmFreebsd32::tgt_stat64::st_birthtim
uint64_t st_birthtim
Definition: freebsd.hh:173
gem5::ArmFreebsd64::rusage::ru_minflt
int64_t ru_minflt
page reclaims - total vmfaults
Definition: freebsd.hh:351
gem5::ArmFreebsd32::TGT_O_NOCTTY
static constexpr int TGT_O_NOCTTY
O_NOCTTY.
Definition: freebsd.hh:69
gem5::ArmFreebsd32::TGT_O_RDWR
static constexpr int TGT_O_RDWR
O_RDWR.
Definition: freebsd.hh:66
gem5::ArmFreebsd64::TGT_MAP_PRIVATE
static constexpr unsigned TGT_MAP_PRIVATE
Definition: freebsd.hh:240
gem5::ArmFreebsd64::tgt_stat::st_atimeX
uint64_t st_atimeX
Definition: freebsd.hh:301
gem5::ArmFreebsd32::rusage::ru_isrss
int32_t ru_isrss
integral unshared stack "
Definition: freebsd.hh:184
gem5::ArmFreebsd32::tgt_stat64::st_rdev
uint32_t st_rdev
Definition: freebsd.hh:159
gem5::ArmFreebsd32::tgt_stat::st_gid
uint32_t st_gid
Definition: freebsd.hh:133
byteswap.hh
gem5::ArmFreebsd64::TGT_FASYNC
static constexpr int TGT_FASYNC
FASYNC.
Definition: freebsd.hh:231
gem5::ArmFreebsd64::tgt_stat::st_gid
uint32_t st_gid
Definition: freebsd.hh:299
gem5::ArmFreebsd64::tms::tms_cstime
int64_t tms_cstime
system time of children
Definition: freebsd.hh:369
gem5::ArmFreebsd64::TGT_O_NOCTTY
static constexpr int TGT_O_NOCTTY
O_NOCTTY.
Definition: freebsd.hh:226
gem5::ArmFreebsd32::tgt_stat::st_mode
uint16_t st_mode
Definition: freebsd.hh:130
flag_tables.hh
gem5::ArmFreebsd64::TGT_RLIMIT_STACK
@ TGT_RLIMIT_STACK
Definition: freebsd.hh:257
gem5::ArmFreebsd64::rusage::ru_inblock
int64_t ru_inblock
block input operations
Definition: freebsd.hh:354

Generated on Thu Jul 28 2022 13:32:22 for gem5 by doxygen 1.8.17