changeset e47703369039 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=e47703369039
description:
syscall_emul: #ifdef new system calls to allow builds on OSX and BSD
diffstat:
src/sim/syscall_emul.cc | 5 ++++-
src/sim/syscall_emul.hh | 13 ++++++++++++-
2 files changed, 16 insertions(+), 2 deletions(-)
diffs (67 lines):
diff -r e034a4566653 -r e47703369039 src/sim/syscall_emul.cc
--- a/src/sim/syscall_emul.cc Thu Jan 19 11:59:34 2017 -0500
+++ b/src/sim/syscall_emul.cc Fri Jan 20 14:12:58 2017 -0500
@@ -895,6 +895,9 @@
fallocateFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
ThreadContext *tc)
{
+#if NO_FALLOCATE
+ warn("Host OS cannot support calls to fallocate. Ignoring syscall");
+#else
int index = 0;
int tgt_fd = process->getSyscallArg(tc, index);
int mode = process->getSyscallArg(tc, index);
@@ -908,7 +911,7 @@
int result = fallocate(sim_fd, mode, offset, len);
if (result < 0)
return -errno;
-
+#endif
return 0;
}
diff -r e034a4566653 -r e47703369039 src/sim/syscall_emul.hh
--- a/src/sim/syscall_emul.hh Thu Jan 19 11:59:34 2017 -0500
+++ b/src/sim/syscall_emul.hh Fri Jan 20 14:12:58 2017 -0500
@@ -49,6 +49,12 @@
defined(__FreeBSD__) || defined(__CYGWIN__) || \
defined(__NetBSD__))
+#define NO_STATFS (defined(__APPLE__) || defined(__OpenBSD__) || \
+ defined(__FreeBSD__) || defined(__NetBSD__))
+
+#define NO_FALLOCATE (defined(__APPLE__) || defined(__OpenBSD__) || \
+ defined(__FreeBSD__) || defined(__NetBSD__))
+
///
/// @file syscall_emul.hh
///
@@ -62,7 +68,9 @@
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/stat.h>
+#if (NO_STATFS == 0)
#include <sys/statfs.h>
+#endif
#include <sys/time.h>
#include <sys/uio.h>
#include <unistd.h>
@@ -1123,6 +1131,9 @@
statfsFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
ThreadContext *tc)
{
+#if NO_STATFS
+ warn("Host OS cannot support calls to statfs. Ignoring syscall");
+#else
std::string path;
int index = 0;
@@ -1142,7 +1153,7 @@
return -errno;
copyOutStatfsBuf<OS>(tc->getMemProxy(), bufPtr, &hostBuf);
-
+#endif
return 0;
}
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev