const std::vector<int> ArmProcess64::SyscallABI::ArgumentRegs = {
     0, 1, 2, 3, 4, 5, 6
 };
-
-void
-ArmProcess32::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
-{
-
-    if (objFile->getOpSys() == ObjectFile::FreeBSD) {
-        // Decode return value
-        if (sysret.encodedValue() >= 0)
-            // FreeBSD checks the carry bit to determine if syscall is succeeded
-            tc->setCCReg(CCREG_C, 0);
-        else {
-            sysret = -sysret.encodedValue();
-        }
-    }
-
-    tc->setIntReg(ReturnValueReg, sysret.encodedValue());
-    if (sysret.count() > 1)
-        tc->setIntReg(SyscallPseudoReturnReg, sysret.value2());
-}
-
-void
-ArmProcess64::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
-{
-
-    if (objFile->getOpSys() == ObjectFile::FreeBSD) {
-        // Decode return value
-        if (sysret.encodedValue() >= 0)
-            // FreeBSD checks the carry bit to determine if syscall is succeeded
-            tc->setCCReg(CCREG_C, 0);
-        else {
-            sysret = -sysret.encodedValue();
-        }
-    }
-
-    tc->setIntReg(ReturnValueReg, sysret.encodedValue());
-    if (sysret.count() > 1)
-        tc->setIntReg(SyscallPseudoReturnReg, sysret.value2());
-}
 
     uint32_t armHwcapImpl() const override;
 
   public:
-
-    void setSyscallReturn(ThreadContext *tc,
-            SyscallReturn return_value) override;
-
     struct SyscallABI : public GenericSyscallABI32
     {
         static const std::vector<int> ArgumentRegs;
     uint32_t armHwcapImpl() const override;
 
   public:
-
-    void setSyscallReturn(ThreadContext *tc,
-            SyscallReturn return_value) override;
-
     struct SyscallABI : public GenericSyscallABI64
     {
         static const std::vector<int> ArgumentRegs;
 
     tc->pcState(getStartPC());
 }
 
-
-void
-MipsProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
-{
-    if (sysret.successful()) {
-        // no error
-        tc->setIntReg(SyscallSuccessReg, 0);
-        tc->setIntReg(ReturnValueReg, sysret.returnValue());
-    } else {
-        // got an error, return details
-        tc->setIntReg(SyscallSuccessReg, (uint32_t)(-1));
-        tc->setIntReg(ReturnValueReg, sysret.errnoValue());
-    }
-    if (sysret.count() > 1)
-        tc->setIntReg(SyscallPseudoReturnReg, sysret.value2());
-}
-
 const std::vector<int> MipsProcess::SyscallABI::ArgumentRegs = {
     4, 5, 6, 7, 8, 9
 };
 
     void argsInit(int pageSize);
 
   public:
-    void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value);
-
     struct SyscallABI : public GenericSyscallABI64
     {
         static const std::vector<int> ArgumentRegs;
 
     memState->setStackMin(roundDown(stack_min, pageSize));
 }
 
-void
-PowerProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
-{
-    Cr cr = tc->readIntReg(INTREG_CR);
-    if (sysret.successful()) {
-        cr.cr0.so = 0;
-    } else {
-        cr.cr0.so = 1;
-    }
-    tc->setIntReg(INTREG_CR, cr);
-    tc->setIntReg(ReturnValueReg, sysret.encodedValue());
-}
-
 const std::vector<int> PowerProcess::SyscallABI::ArgumentRegs = {
     3, 4, 5, 6, 7, 8
 };
 
 
   public:
     void argsInit(int intSize, int pageSize);
-    void setSyscallReturn(ThreadContext *tc,
-            SyscallReturn return_value) override;
 
     struct SyscallABI : public GenericSyscallABI64
     {
 
     memState->setStackMin(roundDown(memState->getStackMin(), pageSize));
 }
 
-void
-RiscvProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
-{
-    if (sysret.successful()) {
-        // no error
-        tc->setIntReg(SyscallPseudoReturnReg, sysret.returnValue());
-    } else {
-        // got an error, return details
-        tc->setIntReg(SyscallPseudoReturnReg, sysret.encodedValue());
-    }
-}
-
 const std::vector<int> RiscvProcess::SyscallABI::ArgumentRegs = {
     10, 11, 12, 13, 14, 15, 16
 };
 
     void argsInit(int pageSize);
 
   public:
-    void setSyscallReturn(ThreadContext *tc,
-                          SyscallReturn return_value) override;
-
     virtual bool mmapGrowsDown() const override { return false; }
 
     //FIXME RISCV needs to handle 64 bit arguments in its 32 bit ISA.
 
     tc->setIntReg(INTREG_CANRESTORE, Canrestore);
     tc->setMiscReg(MISCREG_CWP, origCWP);
 }
-
-static const int FirstArgumentReg = 8;
-
-void
-SparcProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
-{
-    // check for error condition.  SPARC syscall convention is to
-    // indicate success/failure in reg the carry bit of the ccr
-    // and put the return value itself in the standard return value reg.
-    PSTATE pstate = tc->readMiscRegNoEffect(MISCREG_PSTATE);
-    CCR ccr = tc->readIntReg(INTREG_CCR);
-    RegVal val;
-    if (sysret.successful()) {
-        ccr.xcc.c = ccr.icc.c = 0;
-        val = sysret.returnValue();
-    } else {
-        ccr.xcc.c = ccr.icc.c = 1;
-        val = sysret.errnoValue();
-    }
-    tc->setIntReg(INTREG_CCR, ccr);
-    if (pstate.am)
-        val = bits(val, 31, 0);
-    tc->setIntReg(ReturnValueReg, val);
-    if (sysret.count() > 1)
-        tc->setIntReg(SyscallPseudoReturnReg, sysret.value2());
-}
 
     Addr readSpillStart() { return spillStart; }
 
     virtual void flushWindows(ThreadContext *tc) = 0;
-    void setSyscallReturn(ThreadContext *tc,
-            SyscallReturn return_value) override;
 
     struct SyscallABI
     {
 
     X86Process::argsInit<uint32_t>(pageSize, extraAuxvs);
 }
 
-void
-X86Process::setSyscallReturn(ThreadContext *tc, SyscallReturn retval)
-{
-    tc->setIntReg(INTREG_RAX, retval.encodedValue());
-}
-
 void
 X86_64Process::clone(ThreadContext *old_tc, ThreadContext *new_tc,
                      Process *p, RegVal flags)
 
 
         SyscallDesc* getDesc(int callnum) override;
 
-        void setSyscallReturn(ThreadContext *tc,
-                              SyscallReturn return_value) override;
         void clone(ThreadContext *old_tc, ThreadContext *new_tc,
                    Process *process, RegVal flags) override;
 
 
     DrainState drain() override;
 
     virtual void syscall(ThreadContext *tc, Fault *fault) = 0;
-    virtual void setSyscallReturn(ThreadContext *tc,
-                                  SyscallReturn return_value) = 0;
     virtual SyscallDesc *getDesc(int callnum) = 0;
 
     inline uint64_t uid() { return _uid; }