gem5  v22.1.0.0
solaris.hh
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2003-2005 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_SPARC_SOLARIS_SOLARIS_HH__
30 #define __ARCH_SPARC_SOLARIS_SOLARIS_HH__
31 
32 #include <map>
33 
35 #include "kern/solaris/solaris.hh"
36 #include "sim/byteswap.hh"
37 
38 namespace gem5
39 {
40 
41 class SparcSolaris : public Solaris, public OpenFlagTable<SparcSolaris>
42 {
43  public:
44  static constexpr ByteOrder byteOrder = ByteOrder::big;
45 
46  static constexpr int TGT_O_RDONLY = 0x00000000;
47  static constexpr int TGT_O_WRONLY = 0x00000001;
48  static constexpr int TGT_O_RDWR = 0x00000002;
49  static constexpr int TGT_O_NDELAY = 0x00000004;
50  static constexpr int TGT_O_APPEND = 0x00000008;
51  static constexpr int TGT_O_SYNC = 0x00000010;
52  static constexpr int TGT_O_DSYNC = 0x00000040;
53  static constexpr int TGT_O_RSYNC = 0x00008000;
54  static constexpr int TGT_O_NONBLOCK = 0x00000080;
55  static constexpr int TGT_O_PRIV = 0x00001000; //??
56  static constexpr int TGT_O_LARGEFILE = 0x00002000; //??
57  static constexpr int TGT_O_CREAT = 0x00000100;
58  static constexpr int TGT_O_TRUNC = 0x00000200;
59  static constexpr int TGT_O_EXCL = 0x00000400;
60  static constexpr int TGT_O_NOCTTY = 0x00000800;
61  static constexpr int TGT_O_XATTR = 0x00004000; //??
62 
63  static constexpr unsigned TGT_MAP_SHARED = 0x00001;
64  static constexpr unsigned TGT_MAP_PRIVATE = 0x00002;
65  static constexpr unsigned TGT_MAP_ANON = 0x00020;
66  static constexpr unsigned TGT_MAP_DENYWRITE = 0x00800;
67  static constexpr unsigned TGT_MAP_EXECUTABLE = 0x01000;
68  static constexpr unsigned TGT_MAP_FILE = 0x00000;
69  static constexpr unsigned TGT_MAP_GROWSDOWN = 0x00100;
70  static constexpr unsigned TGT_MAP_HUGETLB = 0x40000;
71  static constexpr unsigned TGT_MAP_LOCKED = 0x02000;
72  static constexpr unsigned TGT_MAP_NONBLOCK = 0x10000;
73  static constexpr unsigned TGT_MAP_NORESERVE = 0x04000;
74  static constexpr unsigned TGT_MAP_POPULATE = 0x08000;
75  static constexpr unsigned TGT_MAP_STACK = 0x20000;
76  static constexpr unsigned TGT_MAP_ANONYMOUS = 0x00020;
77  static constexpr unsigned TGT_MAP_FIXED = 0x00010;
78 };
79 
80 } // namespace gem5
81 
82 #endif
This class encapsulates the types, structures, constants, functions, and syscall-number mappings spec...
Definition: solaris.hh:56
static constexpr unsigned TGT_MAP_POPULATE
Definition: solaris.hh:74
static constexpr int TGT_O_NOCTTY
O_NOCTTY.
Definition: solaris.hh:60
static constexpr int TGT_O_RDWR
O_RDWR.
Definition: solaris.hh:48
static constexpr unsigned TGT_MAP_ANONYMOUS
Definition: solaris.hh:76
static constexpr unsigned TGT_MAP_STACK
Definition: solaris.hh:75
static constexpr int TGT_O_DSYNC
O_SYNC.
Definition: solaris.hh:52
static constexpr int TGT_O_EXCL
O_EXCL.
Definition: solaris.hh:59
static constexpr int TGT_O_NDELAY
O_NONBLOCK.
Definition: solaris.hh:49
static constexpr int TGT_O_LARGEFILE
Definition: solaris.hh:56
static constexpr unsigned TGT_MAP_LOCKED
Definition: solaris.hh:71
static constexpr int TGT_O_CREAT
O_CREAT.
Definition: solaris.hh:57
static constexpr int TGT_O_APPEND
O_APPEND.
Definition: solaris.hh:50
static constexpr unsigned TGT_MAP_NONBLOCK
Definition: solaris.hh:72
static constexpr unsigned TGT_MAP_EXECUTABLE
Definition: solaris.hh:67
static constexpr unsigned TGT_MAP_GROWSDOWN
Definition: solaris.hh:69
static constexpr unsigned TGT_MAP_NORESERVE
Definition: solaris.hh:73
static constexpr int TGT_O_XATTR
Definition: solaris.hh:61
static constexpr int TGT_O_TRUNC
O_TRUNC.
Definition: solaris.hh:58
static constexpr unsigned TGT_MAP_DENYWRITE
Definition: solaris.hh:66
static constexpr int TGT_O_SYNC
O_SYNC.
Definition: solaris.hh:51
static constexpr int TGT_O_RSYNC
O_SYNC.
Definition: solaris.hh:53
static constexpr unsigned TGT_MAP_SHARED
Definition: solaris.hh:63
static constexpr ByteOrder byteOrder
Definition: solaris.hh:44
static constexpr unsigned TGT_MAP_PRIVATE
Definition: solaris.hh:64
static constexpr unsigned TGT_MAP_FIXED
Definition: solaris.hh:77
static constexpr unsigned TGT_MAP_FILE
Definition: solaris.hh:68
static constexpr int TGT_O_PRIV
Definition: solaris.hh:55
static constexpr int TGT_O_RDONLY
O_RDONLY.
Definition: solaris.hh:46
static constexpr unsigned TGT_MAP_HUGETLB
Definition: solaris.hh:70
static constexpr unsigned TGT_MAP_ANON
Definition: solaris.hh:65
static constexpr int TGT_O_WRONLY
O_WRONLY.
Definition: solaris.hh:47
static constexpr int TGT_O_NONBLOCK
O_NONBLOCK.
Definition: solaris.hh:54
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....

Generated on Wed Dec 21 2022 10:22:27 for gem5 by doxygen 1.9.1