diff --git a/src/arch/sparc/linux/process.hh b/src/arch/sparc/linux/process.hh index 2bb56e511a..3b79b39fd8 100644 --- a/src/arch/sparc/linux/process.hh +++ b/src/arch/sparc/linux/process.hh @@ -92,7 +92,8 @@ class Sparc64LinuxProcess : public SparcLinuxProcess, public Sparc64Process void handleTrap(int trapNum, ThreadContext *tc, Fault *fault) override; }; -SyscallReturn getresuidFunc(SyscallDesc *desc, int num, ThreadContext *tc); +SyscallReturn getresuidFunc(SyscallDesc *desc, int num, ThreadContext *tc, + Addr ruid, Addr euid, Addr suid); } // namespace SparcISA #endif // __SPARC_LINUX_PROCESS_HH__ diff --git a/src/arch/sparc/linux/syscalls.cc b/src/arch/sparc/linux/syscalls.cc index 405b7d0ed2..2c4992ccff 100644 --- a/src/arch/sparc/linux/syscalls.cc +++ b/src/arch/sparc/linux/syscalls.cc @@ -37,11 +37,10 @@ namespace SparcISA { /// Target uname() handler. static SyscallReturn -unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) +unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc, Addr utsname) { - int index = 0; auto process = tc->getProcessPtr(); - TypedBufferArg name(process->getSyscallArg(tc, index)); + TypedBufferArg name(utsname); strcpy(name->sysname, "Linux"); strcpy(name->nodename, "sim.gem5.org"); @@ -56,14 +55,10 @@ unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) SyscallReturn -getresuidFunc(SyscallDesc *desc, int num, ThreadContext *tc) +getresuidFunc(SyscallDesc *desc, int num, ThreadContext *tc, + Addr ruid, Addr euid, Addr suid) { const uint64_t id = htobe(100); - int index = 0; - auto p = tc->getProcessPtr(); - Addr ruid = p->getSyscallArg(tc, index); - Addr euid = p->getSyscallArg(tc, index); - Addr suid = p->getSyscallArg(tc, index); // Handle the EFAULT case // Set the ruid if (ruid) { diff --git a/src/arch/sparc/solaris/process.cc b/src/arch/sparc/solaris/process.cc index 026372fa12..20fb3cf8f5 100644 --- a/src/arch/sparc/solaris/process.cc +++ b/src/arch/sparc/solaris/process.cc @@ -70,11 +70,10 @@ SparcSolarisObjectFileLoader loader; /// Target uname() handler. static SyscallReturn -unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) +unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc, Addr utsname) { - int index = 0; auto process = tc->getProcessPtr(); - TypedBufferArg name(process->getSyscallArg(tc, index)); + TypedBufferArg name(utsname); strcpy(name->sysname, "SunOS"); strcpy(name->nodename, "m5.eecs.umich.edu");