Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/23174 )

Change subject: arch: Get rid of the now unused setSyscallArg.
......................................................................

arch: Get rid of the now unused setSyscallArg.

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+kok...@google.com>
Reviewed-by: Gabe Black <gabebl...@google.com>
Maintainer: Gabe Black <gabebl...@google.com>
---
M src/arch/alpha/process.cc
M src/arch/alpha/process.hh
M src/arch/arm/process.cc
M src/arch/arm/process.hh
M src/arch/mips/process.cc
M src/arch/mips/process.hh
M src/arch/power/linux/process.cc
M src/arch/power/linux/process.hh
M src/arch/power/process.cc
M src/arch/power/process.hh
M src/arch/riscv/process.cc
M src/arch/riscv/process.hh
M src/arch/sparc/process.cc
M src/arch/sparc/process.hh
M src/arch/x86/process.cc
M src/arch/x86/process.hh
M src/sim/process.hh
17 files changed, 0 insertions(+), 93 deletions(-)

Approvals:
  Gabe Black: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/arch/alpha/process.cc b/src/arch/alpha/process.cc
index b8fb7a9..02a6899 100644
--- a/src/arch/alpha/process.cc
+++ b/src/arch/alpha/process.cc
@@ -223,13 +223,6 @@
 }

 void
-AlphaProcess::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 6);
-    tc->setIntReg(FirstArgumentReg + i, val);
-}
-
-void
 AlphaProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
     // check for error condition.  Alpha syscall convention is to
diff --git a/src/arch/alpha/process.hh b/src/arch/alpha/process.hh
index 5f22488..c4d4f6b 100644
--- a/src/arch/alpha/process.hh
+++ b/src/arch/alpha/process.hh
@@ -52,7 +52,6 @@
     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;

diff --git a/src/arch/arm/process.cc b/src/arch/arm/process.cc
index 70024ae..19ee32b 100644
--- a/src/arch/arm/process.cc
+++ b/src/arch/arm/process.cc
@@ -512,21 +512,6 @@
     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)
 {
diff --git a/src/arch/arm/process.hh b/src/arch/arm/process.hh
index bdd82f8..6b13df1 100644
--- a/src/arch/arm/process.hh
+++ b/src/arch/arm/process.hh
@@ -89,7 +89,6 @@

     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 @@

     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;
 };
diff --git a/src/arch/mips/process.cc b/src/arch/mips/process.cc
index 2e66cac..a62c1de 100644
--- a/src/arch/mips/process.cc
+++ b/src/arch/mips/process.cc
@@ -201,13 +201,6 @@
 }

 void
-MipsProcess::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 6);
-    tc->setIntReg(FirstArgumentReg + i, val);
-}
-
-void
 MipsProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
     if (sysret.successful()) {
diff --git a/src/arch/mips/process.hh b/src/arch/mips/process.hh
index a607bd2..fb31bef 100644
--- a/src/arch/mips/process.hh
+++ b/src/arch/mips/process.hh
@@ -54,7 +54,6 @@
     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);
 };

diff --git a/src/arch/power/linux/process.cc b/src/arch/power/linux/process.cc
index f39de53..ac03227 100644
--- a/src/arch/power/linux/process.cc
+++ b/src/arch/power/linux/process.cc
@@ -476,12 +476,3 @@
     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);
-}
diff --git a/src/arch/power/linux/process.hh b/src/arch/power/linux/process.hh
index aad4c5f..5a2ad92 100644
--- a/src/arch/power/linux/process.hh
+++ b/src/arch/power/linux/process.hh
@@ -48,7 +48,6 @@
     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[];
diff --git a/src/arch/power/process.cc b/src/arch/power/process.cc
index b24a519..fdef2fa 100644
--- a/src/arch/power/process.cc
+++ b/src/arch/power/process.cc
@@ -280,13 +280,6 @@
 }

 void
-PowerProcess::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 5);
-    tc->setIntReg(ArgumentReg0 + i, val);
-}
-
-void
 PowerProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
     Cr cr = tc->readIntReg(INTREG_CR);
diff --git a/src/arch/power/process.hh b/src/arch/power/process.hh
index 186bc87..f746f11 100644
--- a/src/arch/power/process.hh
+++ b/src/arch/power/process.hh
@@ -53,7 +53,6 @@
     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);
 };

diff --git a/src/arch/riscv/process.cc b/src/arch/riscv/process.cc
index 617efa0..ce49836 100644
--- a/src/arch/riscv/process.cc
+++ b/src/arch/riscv/process.cc
@@ -260,12 +260,6 @@
 }

 void
-RiscvProcess::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    tc->setIntReg(SyscallArgumentRegs[i], val);
-}
-
-void
 RiscvProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
     if (sysret.successful()) {
diff --git a/src/arch/riscv/process.hh b/src/arch/riscv/process.hh
index 63e3799..71a0c7b 100644
--- a/src/arch/riscv/process.hh
+++ b/src/arch/riscv/process.hh
@@ -54,7 +54,6 @@
     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;

diff --git a/src/arch/sparc/process.cc b/src/arch/sparc/process.cc
index 23a9b00..189afac 100644
--- a/src/arch/sparc/process.cc
+++ b/src/arch/sparc/process.cc
@@ -505,13 +505,6 @@
     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)
 {
@@ -520,13 +513,6 @@
 }

 void
-Sparc64Process::setSyscallArg(ThreadContext *tc, int i, RegVal val)
-{
-    assert(i < 6);
-    tc->setIntReg(FirstArgumentReg + i, val);
-}
-
-void
 SparcProcess::setSyscallReturn(ThreadContext *tc, SyscallReturn sysret)
 {
     // check for error condition.  SPARC syscall convention is to
diff --git a/src/arch/sparc/process.hh b/src/arch/sparc/process.hh
index 0ef3435..2e5379b 100644
--- a/src/arch/sparc/process.hh
+++ b/src/arch/sparc/process.hh
@@ -111,8 +111,6 @@
     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 @@
     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__
diff --git a/src/arch/x86/process.cc b/src/arch/x86/process.cc
index 09ff71f..f0e8ead 100644
--- a/src/arch/x86/process.cc
+++ b/src/arch/x86/process.cc
@@ -1069,13 +1069,6 @@
 }

 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)
 {
@@ -1102,13 +1095,6 @@
 }

 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)
 {
diff --git a/src/arch/x86/process.hh b/src/arch/x86/process.hh
index 544d5f6..37545e9 100644
--- a/src/arch/x86/process.hh
+++ b/src/arch/x86/process.hh
@@ -138,7 +138,6 @@
         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 @@
                      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;
     };
diff --git a/src/sim/process.hh b/src/sim/process.hh
index a28d58e..5d4a967 100644
--- a/src/sim/process.hh
+++ b/src/sim/process.hh
@@ -77,7 +77,6 @@
     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;

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/23174
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I0bb6d5d0207a7892414a722b3788cb70ee509582
Gerrit-Change-Number: 23174
Gerrit-PatchSet: 5
Gerrit-Owner: Gabe Black <gabebl...@google.com>
Gerrit-Reviewer: Andreas Sandberg <andreas.sandb...@arm.com>
Gerrit-Reviewer: Brandon Potter <brandon.pot...@amd.com>
Gerrit-Reviewer: Gabe Black <gabebl...@google.com>
Gerrit-Reviewer: Giacomo Travaglini <giacomo.travagl...@arm.com>
Gerrit-Reviewer: Jason Lowe-Power <ja...@lowepower.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to