From: Gabe Black Date: Wed, 6 Dec 2006 16:33:37 +0000 (-0500) Subject: Made the alpha setSyscallReturn take a ThreadContext pointer instead of a RegFile *. X-Git-Tag: m5_2.0_beta3~274^2~23 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0ed6c52c1ee061611dd95c2ebc4b4916e8641fc5;p=gem5.git Made the alpha setSyscallReturn take a ThreadContext pointer instead of a RegFile *. --HG-- extra : convert_revision : 021a1fe6760df1daf6299d46060371a5310f008a --- 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()); } } }