arch: Get rid of the now unused setSyscallArg.
authorGabe Black <gabeblack@google.com>
Mon, 25 Nov 2019 07:25:40 +0000 (23:25 -0800)
committerGabe Black <gabeblack@google.com>
Tue, 10 Dec 2019 23:58:14 +0000 (23:58 +0000)
Setting syscall args isn't really something we need to do in gem5,
since that will be taken care of by the code actually calling the
syscall. We just need to be able to retrieve the value it put there.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: I0bb6d5d0207a7892414a722b3788cb70ee509582
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23174
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

17 files changed:
src/arch/alpha/process.cc
src/arch/alpha/process.hh
src/arch/arm/process.cc
src/arch/arm/process.hh
src/arch/mips/process.cc
src/arch/mips/process.hh
src/arch/power/linux/process.cc
src/arch/power/linux/process.hh
src/arch/power/process.cc
src/arch/power/process.hh
src/arch/riscv/process.cc
src/arch/riscv/process.hh
src/arch/sparc/process.cc
src/arch/sparc/process.hh
src/arch/x86/process.cc
src/arch/x86/process.hh
src/sim/process.hh

index b8fb7a99b5a11d2a22d9870dd0761694bb6206d8..02a6899a3644faa0298c5e14ed9afd9190ad3f84 100644 (file)
@@ -222,13 +222,6 @@ AlphaProcess::getSyscallArg(ThreadContext *tc, int &i)
     return tc->readIntReg(FirstArgumentReg + i++);
 }
 
-void
-AlphaProcess::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 6);
-    tc->setIntReg(FirstArgumentReg + i, val);
-}
-
 void
 AlphaProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
index 5f224880a4dd1034c28a6a33acea65816716190a..c4d4f6b888dc1593f41998f78d7739b4c0e9a514 100644 (file)
@@ -52,7 +52,6 @@ class AlphaProcess : public Process
     RegVal getSyscallArg(ThreadContext *tc, int &i) override;
     /// Explicitly import the otherwise hidden getSyscallArg
     using Process::getSyscallArg;
-    void setSyscallArg(ThreadContext *tc, int i, RegVal val) override;
     void setSyscallReturn(ThreadContext *tc,
                           SyscallReturn return_value) override;
 
index 70024ae68eb22ac586522e058145eb112b8711ae..19ee32bbb445d2e0202fa95c1073e421d342d005 100644 (file)
@@ -512,21 +512,6 @@ ArmProcess64::getSyscallArg(ThreadContext *tc, int &i, int width)
     return getSyscallArg(tc, i);
 }
 
-
-void
-ArmProcess32::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 6);
-    tc->setIntReg(ArgumentReg0 + i, val);
-}
-
-void
-ArmProcess64::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 8);
-    tc->setIntReg(ArgumentReg0 + i, val);
-}
-
 void
 ArmProcess32::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
index bdd82f8470125d6e925dc9d646fece9d81320c10..6b13df1069758edd00ac06e6e40ad3fe0d3cef09 100644 (file)
@@ -89,7 +89,6 @@ class ArmProcess32 : public ArmProcess
 
     RegVal getSyscallArg(ThreadContext *tc, int &i, int width) override;
     RegVal getSyscallArg(ThreadContext *tc, int &i) override;
-    void setSyscallArg(ThreadContext *tc, int i, RegVal val) override;
     void setSyscallReturn(ThreadContext *tc,
             SyscallReturn return_value) override;
 };
@@ -109,7 +108,6 @@ class ArmProcess64 : public ArmProcess
 
     RegVal getSyscallArg(ThreadContext *tc, int &i, int width) override;
     RegVal getSyscallArg(ThreadContext *tc, int &i) override;
-    void setSyscallArg(ThreadContext *tc, int i, RegVal val) override;
     void setSyscallReturn(ThreadContext *tc,
             SyscallReturn return_value) override;
 };
index 2e66cac82749b20a59cdcbcd17e1c80e32856746..a62c1deb1110ae7aa44cb637882172a87e87fc7f 100644 (file)
@@ -200,13 +200,6 @@ MipsProcess::getSyscallArg(ThreadContext *tc, int &i)
     return tc->readIntReg(FirstArgumentReg + i++);
 }
 
-void
-MipsProcess::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 6);
-    tc->setIntReg(FirstArgumentReg + i, val);
-}
-
 void
 MipsProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
index a607bd285732c9f1c07fee0751ae045b24f08042..fb31bef6d2e252144be17defef86abf89e67bf4d 100644 (file)
@@ -54,7 +54,6 @@ class MipsProcess : public Process
     RegVal getSyscallArg(ThreadContext *tc, int &i);
     /// Explicitly import the otherwise hidden getSyscallArg
     using Process::getSyscallArg;
-    void setSyscallArg(ThreadContext *tc, int i, RegVal val);
     void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value);
 };
 
index f39de53f8e64c334d1816df799816fb9d0f1c20c..ac032275e4e8f9d859b9923cfe53ca490ba9d48d 100644 (file)
@@ -476,12 +476,3 @@ PowerLinuxProcess::getSyscallArg(ThreadContext *tc, int &i)
     assert(i < 6);
     return tc->readIntReg(ArgumentReg0 + i++);
 }
-
-void
-PowerLinuxProcess::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    // Linux apparently allows more parameter than the ABI says it should.
-    // This limit may need to be increased even further.
-    assert(i < 6);
-    tc->setIntReg(ArgumentReg0 + i, val);
-}
index aad4c5f0d7fa69db0efcc52d2591aa34bcd032e1..5a2ad92a4141249ba94f232dfd580465a9fcb75d 100644 (file)
@@ -48,7 +48,6 @@ class PowerLinuxProcess : public PowerProcess
     RegVal getSyscallArg(ThreadContext *tc, int &i);
     /// Explicitly import the otherwise hidden getSyscallArg
     using Process::getSyscallArg;
-    void setSyscallArg(ThreadContext *tc, int i, RegVal val);
 
     /// Array of syscall descriptors, indexed by call number.
     static SyscallDesc syscallDescs[];
index b24a51948d0325a9d9bcd0ce850c28806472370c..fdef2fa30ddc5b8e88894972d47a609c194f40b1 100644 (file)
@@ -279,13 +279,6 @@ PowerProcess::getSyscallArg(ThreadContext *tc, int &i)
     return tc->readIntReg(ArgumentReg0 + i++);
 }
 
-void
-PowerProcess::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 5);
-    tc->setIntReg(ArgumentReg0 + i, val);
-}
-
 void
 PowerProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
index 186bc8745e934e2a44701409e999ed04d7864f25..f746f115556cc5c34084ec5599d49cfd94ae8fb0 100644 (file)
@@ -53,7 +53,6 @@ class PowerProcess : public Process
     RegVal getSyscallArg(ThreadContext *tc, int &i);
     /// Explicitly import the otherwise hidden getSyscallArg
     using Process::getSyscallArg;
-    void setSyscallArg(ThreadContext *tc, int i, RegVal val);
     void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value);
 };
 
index 617efa0eed200c232be07115d06e3add71579715..ce4983609831e59f8da081d3671a9c900376c60b 100644 (file)
@@ -259,12 +259,6 @@ RiscvProcess::getSyscallArg(ThreadContext *tc, int &i)
     return retval;
 }
 
-void
-RiscvProcess::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    tc->setIntReg(SyscallArgumentRegs[i], val);
-}
-
 void
 RiscvProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
index 63e379931319d9596fd6c8bc79b3d8ca866a135e..71a0c7b60529ab1a91ecfeec02973e11637d618d 100644 (file)
@@ -54,7 +54,6 @@ class RiscvProcess : public Process
     RegVal getSyscallArg(ThreadContext *tc, int &i) override;
     /// Explicitly import the otherwise hidden getSyscallArg
     using Process::getSyscallArg;
-    void setSyscallArg(ThreadContext *tc, int i, RegVal val) override;
     void setSyscallReturn(ThreadContext *tc,
                           SyscallReturn return_value) override;
 
index 23a9b004f17802e182467f64d882cd77a67fd331..189afac82b7bce69a9245e6227bb4bfe5945dcf4 100644 (file)
@@ -505,13 +505,6 @@ Sparc32Process::getSyscallArg(ThreadContext *tc, int &i)
     return bits(tc->readIntReg(FirstArgumentReg + i++), 31, 0);
 }
 
-void
-Sparc32Process::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 6);
-    tc->setIntReg(FirstArgumentReg + i, bits(val, 31, 0));
-}
-
 RegVal
 Sparc64Process::getSyscallArg(ThreadContext *tc, int &i)
 {
@@ -519,13 +512,6 @@ Sparc64Process::getSyscallArg(ThreadContext *tc, int &i)
     return tc->readIntReg(FirstArgumentReg + i++);
 }
 
-void
-Sparc64Process::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 6);
-    tc->setIntReg(FirstArgumentReg + i, val);
-}
-
 void
 SparcProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
index 0ef34352b1d607da2ba5bfe993c165aabc90662a..2e5379bc5d450ae0e8a4417de02d299ef5ee5b05 100644 (file)
@@ -111,8 +111,6 @@ class Sparc32Process : public SparcProcess
     RegVal getSyscallArg(ThreadContext *tc, int &i);
     /// Explicitly import the otherwise hidden getSyscallArg
     using Process::getSyscallArg;
-
-    void setSyscallArg(ThreadContext *tc, int i, RegVal val);
 };
 
 class Sparc64Process : public SparcProcess
@@ -154,8 +152,6 @@ class Sparc64Process : public SparcProcess
     RegVal getSyscallArg(ThreadContext *tc, int &i);
     /// Explicitly import the otherwise hidden getSyscallArg
     using Process::getSyscallArg;
-
-    void setSyscallArg(ThreadContext *tc, int i, RegVal val);
 };
 
 #endif // __SPARC_PROCESS_HH__
index 09ff71f520604f5f882d02b3ee7ac116e0fbb5a4..f0e8ead98ac983e8402e39b3481c38f525ceca8c 100644 (file)
@@ -1068,13 +1068,6 @@ X86_64Process::getSyscallArg(ThreadContext *tc, int &i)
     return tc->readIntReg(ArgumentReg[i++]);
 }
 
-void
-X86_64Process::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < NumArgumentRegs);
-    return tc->setIntReg(ArgumentReg[i], val);
-}
-
 void
 X86_64Process::clone(ThreadContext *old_tc, ThreadContext *new_tc,
                      Process *p, RegVal flags)
@@ -1101,13 +1094,6 @@ I386Process::getSyscallArg(ThreadContext *tc, int &i, int width)
     return retVal;
 }
 
-void
-I386Process::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < NumArgumentRegs);
-    return tc->setIntReg(ArgumentReg[i], val);
-}
-
 void
 I386Process::clone(ThreadContext *old_tc, ThreadContext *new_tc,
                    Process *p, RegVal flags)
index 544d5f61f704f70ae31cafce8e9ee2f2f6e0ff41..37545e9d9a312f2c0a1b9f8d137af13beeefc973 100644 (file)
@@ -138,7 +138,6 @@ namespace X86ISA
         RegVal getSyscallArg(ThreadContext *tc, int &i) override;
         /// Explicitly import the otherwise hidden getSyscallArg
         using Process::getSyscallArg;
-        void setSyscallArg(ThreadContext *tc, int i, RegVal val) override;
         void clone(ThreadContext *old_tc, ThreadContext *new_tc,
                    Process *process, RegVal flags) override;
     };
@@ -181,7 +180,6 @@ namespace X86ISA
                      Fault *fault) override;
         RegVal getSyscallArg(ThreadContext *tc, int &i) override;
         RegVal getSyscallArg(ThreadContext *tc, int &i, int width) override;
-        void setSyscallArg(ThreadContext *tc, int i, RegVal val) override;
         void clone(ThreadContext *old_tc, ThreadContext *new_tc,
                    Process *process, RegVal flags) override;
     };
index a28d58e9aa0964ad67bedfbaeba8026437387ee6..5d4a9672ed9b468ac108ece4eaf048cb53c6b3d2 100644 (file)
@@ -77,7 +77,6 @@ class Process : public SimObject
     virtual void syscall(int64_t callnum, ThreadContext *tc, Fault *fault);
     virtual RegVal getSyscallArg(ThreadContext *tc, int &i) = 0;
     virtual RegVal getSyscallArg(ThreadContext *tc, int &i, int width);
-    virtual void setSyscallArg(ThreadContext *tc, int i, RegVal val) = 0;
     virtual void setSyscallReturn(ThreadContext *tc,
                                   SyscallReturn return_value) = 0;
     virtual SyscallDesc *getDesc(int callnum) = 0;