summaryrefslogtreecommitdiff
path: root/src/arch
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/arch
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/arch')
-rw-r--r--src/arch/x86/linux/process.cc20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/arch/x86/linux/process.cc b/src/arch/x86/linux/process.cc
index 51512fdda..9ec4ca040 100644
--- a/src/arch/x86/linux/process.cc
+++ b/src/arch/x86/linux/process.cc
@@ -298,13 +298,13 @@ static SyscallDesc syscallDescs64[] = {
/* 75 */ SyscallDesc("fdatasync", unimplementedFunc),
/* 76 */ SyscallDesc("truncate", truncateFunc),
/* 77 */ SyscallDesc("ftruncate", ftruncateFunc),
- /* 78 */ SyscallDesc("getdents", unimplementedFunc),
+ /* 78 */ SyscallDesc("getdents", getdentsFunc),
/* 79 */ SyscallDesc("getcwd", getcwdFunc),
- /* 80 */ SyscallDesc("chdir", unimplementedFunc),
+ /* 80 */ SyscallDesc("chdir", chdirFunc),
/* 81 */ SyscallDesc("fchdir", unimplementedFunc),
/* 82 */ SyscallDesc("rename", renameFunc),
- /* 83 */ SyscallDesc("mkdir", unimplementedFunc),
- /* 84 */ SyscallDesc("rmdir", unimplementedFunc),
+ /* 83 */ SyscallDesc("mkdir", mkdirFunc),
+ /* 84 */ SyscallDesc("rmdir", rmdirFunc),
/* 85 */ SyscallDesc("creat", unimplementedFunc),
/* 86 */ SyscallDesc("link", linkFunc),
/* 87 */ SyscallDesc("unlink", unlinkFunc),
@@ -353,7 +353,7 @@ static SyscallDesc syscallDescs64[] = {
/* 130 */ SyscallDesc("rt_sigsuspend", unimplementedFunc),
/* 131 */ SyscallDesc("sigaltstack", unimplementedFunc),
/* 132 */ SyscallDesc("utime", unimplementedFunc),
- /* 133 */ SyscallDesc("mknod", unimplementedFunc),
+ /* 133 */ SyscallDesc("mknod", mknodFunc),
/* 134 */ SyscallDesc("uselib", unimplementedFunc),
/* 135 */ SyscallDesc("personality", unimplementedFunc),
/* 136 */ SyscallDesc("ustat", unimplementedFunc),
@@ -561,9 +561,9 @@ static SyscallDesc syscallDescs32[] = {
/* 9 */ SyscallDesc("link", unimplementedFunc),
/* 10 */ SyscallDesc("unlink", unimplementedFunc),
/* 11 */ SyscallDesc("execve", execveFunc<X86Linux32>),
- /* 12 */ SyscallDesc("chdir", unimplementedFunc),
+ /* 12 */ SyscallDesc("chdir", chdirFunc),
/* 13 */ SyscallDesc("time", timeFunc<X86Linux32>),
- /* 14 */ SyscallDesc("mknod", unimplementedFunc),
+ /* 14 */ SyscallDesc("mknod", mknodFunc),
/* 15 */ SyscallDesc("chmod", unimplementedFunc),
/* 16 */ SyscallDesc("lchown", unimplementedFunc),
/* 17 */ SyscallDesc("break", unimplementedFunc),
@@ -588,8 +588,8 @@ static SyscallDesc syscallDescs32[] = {
/* 36 */ SyscallDesc("sync", unimplementedFunc),
/* 37 */ SyscallDesc("kill", unimplementedFunc),
/* 38 */ SyscallDesc("rename", unimplementedFunc),
- /* 39 */ SyscallDesc("mkdir", unimplementedFunc),
- /* 40 */ SyscallDesc("rmdir", unimplementedFunc),
+ /* 39 */ SyscallDesc("mkdir", mkdirFunc),
+ /* 40 */ SyscallDesc("rmdir", mkdirFunc),
/* 41 */ SyscallDesc("dup", dupFunc),
/* 42 */ SyscallDesc("pipe", pipeFunc),
/* 43 */ SyscallDesc("times", timesFunc<X86Linux32>),
@@ -690,7 +690,7 @@ static SyscallDesc syscallDescs32[] = {
/* 138 */ SyscallDesc("setfsuid", unimplementedFunc),
/* 139 */ SyscallDesc("setfsgid", unimplementedFunc),
/* 140 */ SyscallDesc("_llseek", _llseekFunc),
- /* 141 */ SyscallDesc("getdents", unimplementedFunc),
+ /* 141 */ SyscallDesc("getdents", getdentsFunc),
/* 142 */ SyscallDesc("_newselect", unimplementedFunc),
/* 143 */ SyscallDesc("flock", unimplementedFunc),
/* 144 */ SyscallDesc("msync", unimplementedFunc),