summaryrefslogtreecommitdiff
path: root/src/arch/alpha/syscallreturn.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-12-06 11:33:37 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-12-06 11:33:37 -0500
commit0ed6c52c1ee061611dd95c2ebc4b4916e8641fc5 (patch)
tree0d1497eb087a7d7d617a33fdd42845112b42e93a /src/arch/alpha/syscallreturn.hh
parentb3cfa6ec42a232bc31adb6cf540717859ad0fab3 (diff)
downloadgem5-0ed6c52c1ee061611dd95c2ebc4b4916e8641fc5.tar.xz
Made the alpha setSyscallReturn take a ThreadContext pointer instead of a RegFile *.
--HG-- extra : convert_revision : 021a1fe6760df1daf6299d46060371a5310f008a
Diffstat (limited to 'src/arch/alpha/syscallreturn.hh')
-rw-r--r--src/arch/alpha/syscallreturn.hh12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/arch/alpha/syscallreturn.hh b/src/arch/alpha/syscallreturn.hh
index 88a6bf499..47b4ac8c7 100644
--- a/src/arch/alpha/syscallreturn.hh
+++ b/src/arch/alpha/syscallreturn.hh
@@ -32,23 +32,25 @@
#ifndef __ARCH_ALPHA_SYSCALLRETURN_HH__
#define __ARCH_ALPHA_SYSCALLRETURN_HH__
+#include "cpu/thread_context.hh"
#include "sim/syscallreturn.hh"
namespace AlphaISA
{
- static inline void setSyscallReturn(SyscallReturn return_value, RegFile *regs)
+ static inline void setSyscallReturn(SyscallReturn return_value,
+ ThreadContext * tc)
{
// check for error condition. Alpha syscall convention is to
// indicate success/failure in reg a3 (r19) and put the
// return value itself in the standard return value reg (v0).
if (return_value.successful()) {
// no error
- regs->setIntReg(SyscallSuccessReg, 0);
- regs->setIntReg(ReturnValueReg, return_value.value());
+ tc->setIntReg(SyscallSuccessReg, 0);
+ tc->setIntReg(ReturnValueReg, return_value.value());
} else {
// got an error, return details
- regs->setIntReg(SyscallSuccessReg, (IntReg)-1);
- regs->setIntReg(ReturnValueReg, -return_value.value());
+ tc->setIntReg(SyscallSuccessReg, (IntReg)-1);
+ tc->setIntReg(ReturnValueReg, -return_value.value());
}
}
}