diff options
Diffstat (limited to 'src/arch/mips')
-rw-r--r-- | src/arch/mips/linux/process.cc | 16 | ||||
-rw-r--r-- | src/arch/mips/linux/process.hh | 5 | ||||
-rw-r--r-- | src/arch/mips/process.cc | 6 | ||||
-rw-r--r-- | src/arch/mips/process.hh | 5 |
4 files changed, 23 insertions, 9 deletions
diff --git a/src/arch/mips/linux/process.cc b/src/arch/mips/linux/process.cc index 17e735527..d182cfa30 100644 --- a/src/arch/mips/linux/process.cc +++ b/src/arch/mips/linux/process.cc @@ -44,7 +44,7 @@ using namespace MipsISA; /// Target uname() handler. static SyscallReturn -unameFunc(SyscallDesc *desc, int callnum, Process *process, +unameFunc(SyscallDesc *desc, int callnum, LiveProcess *process, ThreadContext *tc) { TypedBufferArg<Linux::utsname> name(tc->getSyscallArg(0)); @@ -63,7 +63,7 @@ unameFunc(SyscallDesc *desc, int callnum, Process *process, /// borrowed from Tru64, the subcases that get used appear to be /// different in practice from those used by Tru64 processes. static SyscallReturn -sys_getsysinfoFunc(SyscallDesc *desc, int callnum, Process *process, +sys_getsysinfoFunc(SyscallDesc *desc, int callnum, LiveProcess *process, ThreadContext *tc) { unsigned op = tc->getSyscallArg(0); @@ -90,7 +90,7 @@ sys_getsysinfoFunc(SyscallDesc *desc, int callnum, Process *process, /// Target sys_setsysinfo() handler. static SyscallReturn -sys_setsysinfoFunc(SyscallDesc *desc, int callnum, Process *process, +sys_setsysinfoFunc(SyscallDesc *desc, int callnum, LiveProcess *process, ThreadContext *tc) { unsigned op = tc->getSyscallArg(0); @@ -410,9 +410,15 @@ MipsLinuxProcess::MipsLinuxProcess(const std::string &name, int stdout_fd, int stderr_fd, std::vector<std::string> &argv, - std::vector<std::string> &envp) + std::vector<std::string> &envp, + uint64_t _uid, + uint64_t _euid, + uint64_t _gid, + uint64_t _egid, + uint64_t _pid, + uint64_t _ppid) : MipsLiveProcess(name, objFile, system, stdin_fd, stdout_fd, stderr_fd, - argv, envp), + argv, envp, _uid, _euid, _gid, _egid, _pid, _ppid), Num_Syscall_Descs(sizeof(syscallDescs) / sizeof(SyscallDesc)) { } diff --git a/src/arch/mips/linux/process.hh b/src/arch/mips/linux/process.hh index 68da3227b..06f86379c 100644 --- a/src/arch/mips/linux/process.hh +++ b/src/arch/mips/linux/process.hh @@ -42,7 +42,10 @@ class MipsLinuxProcess : public MipsLiveProcess System *system, int stdin_fd, int stdout_fd, int stderr_fd, std::vector<std::string> &argv, - std::vector<std::string> &envp); + std::vector<std::string> &envp, + uint64_t _uid, uint64_t _euid, + uint64_t _gid, uint64_t _egid, + uint64_t _pid, uint64_t _ppid); virtual SyscallDesc* getDesc(int callnum); diff --git a/src/arch/mips/process.cc b/src/arch/mips/process.cc index 031c2030e..4bc91ca24 100644 --- a/src/arch/mips/process.cc +++ b/src/arch/mips/process.cc @@ -43,9 +43,11 @@ using namespace MipsISA; MipsLiveProcess::MipsLiveProcess(const std::string &nm, ObjectFile *objFile, System *_system, int stdin_fd, int stdout_fd, int stderr_fd, - std::vector<std::string> &argv, std::vector<std::string> &envp) + std::vector<std::string> &argv, std::vector<std::string> &envp, + uint64_t _uid, uint64_t _euid, uint64_t _gid, uint64_t _egid, + uint64_t _pid, uint64_t _ppid) : LiveProcess(nm, objFile, _system, stdin_fd, stdout_fd, stderr_fd, - argv, envp) + argv, envp, _uid, _euid, _gid, _egid, _pid, _ppid) { // Set up stack. On MIPS, stack starts at the top of kuseg // user address space. MIPS stack grows down from here diff --git a/src/arch/mips/process.hh b/src/arch/mips/process.hh index 400591599..fb004375d 100644 --- a/src/arch/mips/process.hh +++ b/src/arch/mips/process.hh @@ -47,7 +47,10 @@ class MipsLiveProcess : public LiveProcess MipsLiveProcess(const std::string &nm, ObjectFile *objFile, System *_system, int stdin_fd, int stdout_fd, int stderr_fd, std::vector<std::string> &argv, - std::vector<std::string> &envp); + std::vector<std::string> &envp, + uint64_t _uid, uint64_t _euid, + uint64_t _gid, uint64_t _egid, + uint64_t _pid, uint64_t _ppid); void startup(); |