Change MIPS's setSyscallReturn to use a thread context.

--HG--
extra : convert_revision : 618f8404ec5380615e28170d761b2fcdf9c07d96
This commit is contained in:
Gabe Black 2006-12-06 05:41:08 -05:00
parent a3f351ab59
commit 4d8a0541dd

View file

@ -33,19 +33,21 @@
#define __ARCH_MIPS_SYSCALLRETURN_HH__ #define __ARCH_MIPS_SYSCALLRETURN_HH__
#include "sim/syscallreturn.hh" #include "sim/syscallreturn.hh"
#include "cpu/thread_context.hh"
namespace MipsISA namespace MipsISA
{ {
static inline void setSyscallReturn(SyscallReturn return_value, RegFile *regs) static inline void setSyscallReturn(SyscallReturn return_value,
ThreadContext *tc)
{ {
if (return_value.successful()) { if (return_value.successful()) {
// no error // no error
regs->setIntReg(SyscallSuccessReg, 0); tc->setIntReg(SyscallSuccessReg, 0);
regs->setIntReg(ReturnValueReg1, return_value.value()); tc->setIntReg(ReturnValueReg1, return_value.value());
} else { } else {
// got an error, return details // got an error, return details
regs->setIntReg(SyscallSuccessReg, (IntReg) -1); tc->setIntReg(SyscallSuccessReg, (IntReg) -1);
regs->setIntReg(ReturnValueReg1, -return_value.value()); tc->setIntReg(ReturnValueReg1, -return_value.value());
} }
} }
} }