diff options
author | Brandon Potter <brandon.potter@amd.com> | 2018-04-18 14:45:37 -0400 |
---|---|---|
committer | Anthony Gutierrez <anthony.gutierrez@amd.com> | 2018-09-19 20:54:04 +0000 |
commit | f2abc6bb9edbcb23c7e314873b26ca6303a9c1b7 (patch) | |
tree | 89bba644fd3934779e9330f45703e59cbdce9512 /src/arch/x86/linux | |
parent | bed9460aaa6ade07383642e14e5076ce5e456fea (diff) | |
download | gem5-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/x86/linux')
-rw-r--r-- | src/arch/x86/linux/process.cc | 20 |
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), |