summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTony Gutierrez <anthony.gutierrez@amd.com>2018-04-18 18:25:23 -0400
committerBrandon Potter <Brandon.Potter@amd.com>2019-05-21 18:26:10 +0000
commitdd2d44547ddc08ccee9e1465104eff2f43efdec0 (patch)
tree08e9b0db3d89a92e2e975193d96ef8665682bd9a /src
parent874bb1a76091cce44d89f47bf13b9eac53eb2e41 (diff)
downloadgem5-dd2d44547ddc08ccee9e1465104eff2f43efdec0.tar.xz
sim-se: remove /sys from special paths
Currently, the open system call implementation in SE mode treats /sys/ as a special path that is opened using a special open handler. The ROC runtime, however, reads several files in /sys/ that are supported via path redirection. Here we remove /sys/ from the special files so that the necessary files may be read via path redirection. Change-Id: Ifdab38ea1e6cc486ad43aec96b6e032fe63f137d Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/12127 Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/kern/linux/linux.cc10
-rw-r--r--src/sim/syscall_emul.hh3
2 files changed, 1 insertions, 12 deletions
diff --git a/src/kern/linux/linux.cc b/src/kern/linux/linux.cc
index b71ab3079..e499776dc 100644
--- a/src/kern/linux/linux.cc
+++ b/src/kern/linux/linux.cc
@@ -55,9 +55,6 @@ Linux::openSpecialFile(std::string path, Process *process,
} else if (path.compare(0, 11, "/etc/passwd") == 0) {
data = Linux::etcPasswd(process, tc);
matched = true;
- } else if (path.compare(0, 30, "/sys/devices/system/cpu/online") == 0) {
- data = Linux::cpuOnline(process, tc);
- matched = true;
}
if (matched) {
@@ -90,10 +87,3 @@ Linux::etcPasswd(Process *process, ThreadContext *tc)
return csprintf("gem5-user:x:1000:1000:gem5-user,,,:%s:/bin/bash\n",
process->tgtCwd);
}
-
-std::string
-Linux::cpuOnline(Process *process, ThreadContext *tc)
-{
- return csprintf("0-%d\n",
- tc->getSystemPtr()->numContexts() - 1);
-}
diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh
index caa4d2cf3..92fb8bf3e 100644
--- a/src/sim/syscall_emul.hh
+++ b/src/sim/syscall_emul.hh
@@ -934,8 +934,7 @@ openImpl(SyscallDesc *desc, int callnum, Process *p, ThreadContext *tc,
int sim_fd = -1;
std::string used_path;
std::vector<std::string> special_paths =
- { "/proc/meminfo/", "/system/", "/sys/", "/platform/",
- "/etc/passwd" };
+ { "/proc/meminfo/", "/system/", "/platform/", "/etc/passwd" };
for (auto entry : special_paths) {
if (startswith(path, entry)) {
sim_fd = OS::openSpecialFile(abs_path, p, tc);