summaryrefslogtreecommitdiff
path: root/src/sim/syscall_emul.hh
diff options
context:
space:
mode:
authorBrandon Potter <brandon.potter@amd.com>2018-04-18 14:45:37 -0400
committerAnthony Gutierrez <anthony.gutierrez@amd.com>2018-09-19 20:54:04 +0000
commitf2abc6bb9edbcb23c7e314873b26ca6303a9c1b7 (patch)
tree89bba644fd3934779e9330f45703e59cbdce9512 /src/sim/syscall_emul.hh
parentbed9460aaa6ade07383642e14e5076ce5e456fea (diff)
downloadgem5-f2abc6bb9edbcb23c7e314873b26ca6303a9c1b7.tar.xz
syscall_emul: implement dir-related syscalls
Add getdents, rmdir, chdir, and mknod to SE mode for x86. Change-Id: I387ea3066869e8999bc0064f74070f4e47c1e9a1 Reviewed-on: https://gem5-review.googlesource.com/12112 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Diffstat (limited to 'src/sim/syscall_emul.hh')
-rw-r--r--src/sim/syscall_emul.hh18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh
index 1f4233aa8..c7818b6c6 100644
--- a/src/sim/syscall_emul.hh
+++ b/src/sim/syscall_emul.hh
@@ -215,6 +215,18 @@ SyscallReturn symlinkFunc(SyscallDesc *desc, int num, Process *p,
SyscallReturn mkdirFunc(SyscallDesc *desc, int num,
Process *p, ThreadContext *tc);
+/// Target mknod() handler.
+SyscallReturn mknodFunc(SyscallDesc *desc, int num,
+ Process *p, ThreadContext *tc);
+
+/// Target chdir() handler.
+SyscallReturn chdirFunc(SyscallDesc *desc, int num,
+ Process *p, ThreadContext *tc);
+
+// Target rmdir() handler.
+SyscallReturn rmdirFunc(SyscallDesc *desc, int num,
+ Process *p, ThreadContext *tc);
+
/// Target rename() handler.
SyscallReturn renameFunc(SyscallDesc *desc, int num,
Process *p, ThreadContext *tc);
@@ -291,7 +303,11 @@ SyscallReturn pipeImpl(SyscallDesc *desc, int num, Process *p,
SyscallReturn getpidFunc(SyscallDesc *desc, int num,
Process *p, ThreadContext *tc);
-/// Target getuid() handler.
+// Target getdents() handler.
+SyscallReturn getdentsFunc(SyscallDesc *desc, int num,
+ Process *p, ThreadContext *tc);
+
+// Target getuid() handler.
SyscallReturn getuidFunc(SyscallDesc *desc, int num,
Process *p, ThreadContext *tc);