linux.cc (11382:654272b82e94) | linux.cc (11383:5ac090acd180) |
---|---|
1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 23 unchanged lines hidden (view full) --- 32 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 * 37 * Authors: Gabe Black 38 */ 39 | 1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 23 unchanged lines hidden (view full) --- 32 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 * 37 * Authors: Gabe Black 38 */ 39 |
40#include <fcntl.h> 41 | |
42#include "arch/x86/linux/linux.hh" 43 | 40#include "arch/x86/linux/linux.hh" 41 |
42#include <fcntl.h> 43#include <sys/mman.h> 44 |
|
44// open(2) flags translation table 45SyscallFlagTransTable X86Linux64::openFlagTable[] = { 46#ifdef _MSC_VER 47 { X86Linux64::TGT_O_RDONLY, _O_RDONLY }, 48 { X86Linux64::TGT_O_WRONLY, _O_WRONLY }, 49 { X86Linux64::TGT_O_RDWR, _O_RDWR }, 50 { X86Linux64::TGT_O_CREAT, _O_CREAT }, 51 { X86Linux64::TGT_O_EXCL, _O_EXCL }, --- 53 unchanged lines hidden (view full) --- 105#endif 106#endif /* _MSC_VER */ 107}; 108 109const int X86Linux64::NUM_OPEN_FLAGS = 110 sizeof(X86Linux64::openFlagTable) / 111 sizeof(X86Linux64::openFlagTable[0]); 112 | 45// open(2) flags translation table 46SyscallFlagTransTable X86Linux64::openFlagTable[] = { 47#ifdef _MSC_VER 48 { X86Linux64::TGT_O_RDONLY, _O_RDONLY }, 49 { X86Linux64::TGT_O_WRONLY, _O_WRONLY }, 50 { X86Linux64::TGT_O_RDWR, _O_RDWR }, 51 { X86Linux64::TGT_O_CREAT, _O_CREAT }, 52 { X86Linux64::TGT_O_EXCL, _O_EXCL }, --- 53 unchanged lines hidden (view full) --- 106#endif 107#endif /* _MSC_VER */ 108}; 109 110const int X86Linux64::NUM_OPEN_FLAGS = 111 sizeof(X86Linux64::openFlagTable) / 112 sizeof(X86Linux64::openFlagTable[0]); 113 |
114// mmap(2) flags translation table 115SyscallFlagTransTable X86Linux64::mmapFlagTable[] = { 116 { X86Linux64::TGT_MAP_SHARED, MAP_SHARED }, 117 { X86Linux64::TGT_MAP_PRIVATE, MAP_PRIVATE }, 118 { X86Linux64::TGT_MAP_32BIT, MAP_32BIT}, 119 { X86Linux64::TGT_MAP_ANON, MAP_ANON }, 120 { X86Linux64::TGT_MAP_DENYWRITE, MAP_DENYWRITE }, 121 { X86Linux64::TGT_MAP_EXECUTABLE, MAP_EXECUTABLE }, 122 { X86Linux64::TGT_MAP_FILE, MAP_FILE }, 123 { X86Linux64::TGT_MAP_GROWSDOWN, MAP_GROWSDOWN }, 124#ifdef MAP_HUGETLB 125 { X86Linux64::TGT_MAP_HUGETLB, MAP_HUGETLB }, 126#endif 127 { X86Linux64::TGT_MAP_LOCKED, MAP_LOCKED }, 128 { X86Linux64::TGT_MAP_NONBLOCK, MAP_NONBLOCK }, 129 { X86Linux64::TGT_MAP_NORESERVE, MAP_NORESERVE }, 130 { X86Linux64::TGT_MAP_POPULATE, MAP_POPULATE }, 131#ifdef MAP_STACK 132 { X86Linux64::TGT_MAP_STACK, MAP_STACK }, 133#endif 134 { X86Linux64::TGT_MAP_ANONYMOUS, MAP_ANONYMOUS }, 135 { X86Linux64::TGT_MAP_FIXED, MAP_FIXED }, 136}; 137 138const unsigned X86Linux64::NUM_MMAP_FLAGS = 139 sizeof(X86Linux64::mmapFlagTable) / 140 sizeof(X86Linux64::mmapFlagTable[0]); 141 |
|
113// open(2) flags translation table 114SyscallFlagTransTable X86Linux32::openFlagTable[] = { 115#ifdef _MSC_VER 116 { X86Linux32::TGT_O_RDONLY, _O_RDONLY }, 117 { X86Linux32::TGT_O_WRONLY, _O_WRONLY }, 118 { X86Linux32::TGT_O_RDWR, _O_RDWR }, 119 { X86Linux32::TGT_O_CREAT, _O_CREAT }, 120 { X86Linux32::TGT_O_EXCL, _O_EXCL }, --- 53 unchanged lines hidden (view full) --- 174#endif 175#endif /* _MSC_VER */ 176}; 177 178const int X86Linux32::NUM_OPEN_FLAGS = 179 sizeof(X86Linux32::openFlagTable) / 180 sizeof(X86Linux32::openFlagTable[0]); 181 | 142// open(2) flags translation table 143SyscallFlagTransTable X86Linux32::openFlagTable[] = { 144#ifdef _MSC_VER 145 { X86Linux32::TGT_O_RDONLY, _O_RDONLY }, 146 { X86Linux32::TGT_O_WRONLY, _O_WRONLY }, 147 { X86Linux32::TGT_O_RDWR, _O_RDWR }, 148 { X86Linux32::TGT_O_CREAT, _O_CREAT }, 149 { X86Linux32::TGT_O_EXCL, _O_EXCL }, --- 53 unchanged lines hidden (view full) --- 203#endif 204#endif /* _MSC_VER */ 205}; 206 207const int X86Linux32::NUM_OPEN_FLAGS = 208 sizeof(X86Linux32::openFlagTable) / 209 sizeof(X86Linux32::openFlagTable[0]); 210 |
211// mmap(2) flags translation table 212SyscallFlagTransTable X86Linux32::mmapFlagTable[] = { 213 { X86Linux32::TGT_MAP_SHARED, MAP_SHARED }, 214 { X86Linux32::TGT_MAP_PRIVATE, MAP_PRIVATE }, 215 { X86Linux32::TGT_MAP_32BIT, MAP_32BIT}, 216 { X86Linux32::TGT_MAP_ANON, MAP_ANON }, 217 { X86Linux32::TGT_MAP_DENYWRITE, MAP_DENYWRITE }, 218 { X86Linux32::TGT_MAP_EXECUTABLE, MAP_EXECUTABLE }, 219 { X86Linux32::TGT_MAP_FILE, MAP_FILE }, 220 { X86Linux32::TGT_MAP_GROWSDOWN, MAP_GROWSDOWN }, 221#ifdef MAP_HUGETLB 222 { X86Linux32::TGT_MAP_HUGETLB, MAP_HUGETLB }, 223#endif 224 { X86Linux32::TGT_MAP_LOCKED, MAP_LOCKED }, 225 { X86Linux32::TGT_MAP_NONBLOCK, MAP_NONBLOCK }, 226 { X86Linux32::TGT_MAP_NORESERVE, MAP_NORESERVE }, 227 { X86Linux32::TGT_MAP_POPULATE, MAP_POPULATE }, 228#ifdef MAP_STACK 229 { X86Linux32::TGT_MAP_STACK, MAP_STACK }, 230#endif 231 { X86Linux32::TGT_MAP_ANONYMOUS, MAP_ANONYMOUS }, 232 { X86Linux32::TGT_MAP_FIXED, MAP_FIXED }, 233}; 234 235const unsigned X86Linux32::NUM_MMAP_FLAGS = 236 sizeof(X86Linux32::mmapFlagTable) / 237 sizeof(X86Linux32::mmapFlagTable[0]); |
|