summaryrefslogtreecommitdiff
path: root/src/sim
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim')
-rw-r--r--src/sim/process.cc2
-rw-r--r--src/sim/process.hh5
2 files changed, 5 insertions, 2 deletions
diff --git a/src/sim/process.cc b/src/sim/process.cc
index db013aee0..e7f682aad 100644
--- a/src/sim/process.cc
+++ b/src/sim/process.cc
@@ -437,7 +437,7 @@ Process::map(Addr vaddr, Addr paddr, int size, bool cacheable)
}
void
-Process::syscall(int64_t callnum, ThreadContext *tc, Fault *fault)
+Process::doSyscall(int64_t callnum, ThreadContext *tc, Fault *fault)
{
numSyscalls++;
diff --git a/src/sim/process.hh b/src/sim/process.hh
index 5d4a9672e..70be3ab8a 100644
--- a/src/sim/process.hh
+++ b/src/sim/process.hh
@@ -63,6 +63,9 @@ class ThreadContext;
class Process : public SimObject
{
+ protected:
+ void doSyscall(int64_t callnum, ThreadContext *tc, Fault *fault);
+
public:
Process(ProcessParams *params, EmulationPageTable *pTable,
ObjectFile *obj_file);
@@ -74,7 +77,7 @@ class Process : public SimObject
void initState() override;
DrainState drain() override;
- virtual void syscall(int64_t callnum, ThreadContext *tc, Fault *fault);
+ virtual void syscall(ThreadContext *tc, Fault *fault) = 0;
virtual RegVal getSyscallArg(ThreadContext *tc, int &i) = 0;
virtual RegVal getSyscallArg(ThreadContext *tc, int &i, int width);
virtual void setSyscallReturn(ThreadContext *tc,