summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Wilson <spwilson2@wisc.edu>2017-06-28 14:21:29 -0500
committerSean Wilson <spwilson2@wisc.edu>2017-07-17 15:16:32 +0000
commit352c1ad7147bfb84a9c7aea57152e41c63d22397 (patch)
treeaefdb516cd9fef1b5d8cabe2a4d1d5be0c6b242f
parentc305e150048b2ac92891b1054f0c65a6c3374e90 (diff)
downloadgem5-352c1ad7147bfb84a9c7aea57152e41c63d22397.tar.xz
sim, x86: Make clone a virtual function
This fixes the function call to clone in syscall_emul.hh where the x86 version should be called before the base implementation of clone. Change-Id: Iccd2f680ff6e3a5536037d688a80ab3f236bbd98 Signed-off-by: Sean Wilson <spwilson2@wisc.edu> Reviewed-on: https://gem5-review.googlesource.com/3902 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
-rw-r--r--src/arch/x86/process.hh6
-rw-r--r--src/sim/process.hh4
2 files changed, 5 insertions, 5 deletions
diff --git a/src/arch/x86/process.hh b/src/arch/x86/process.hh
index 9cd5378eb..3eb9620c9 100644
--- a/src/arch/x86/process.hh
+++ b/src/arch/x86/process.hh
@@ -84,7 +84,7 @@ namespace X86ISA
void setSyscallReturn(ThreadContext *tc,
SyscallReturn return_value) override;
void clone(ThreadContext *old_tc, ThreadContext *new_tc,
- Process *process, TheISA::IntReg flags);
+ Process *process, TheISA::IntReg flags) override;
X86Process &
operator=(const X86Process &in)
@@ -140,7 +140,7 @@ namespace X86ISA
void setSyscallArg(ThreadContext *tc, int i,
X86ISA::IntReg val) override;
void clone(ThreadContext *old_tc, ThreadContext *new_tc,
- Process *process, TheISA::IntReg flags);
+ Process *process, TheISA::IntReg flags) override;
};
class I386Process : public X86Process
@@ -186,7 +186,7 @@ namespace X86ISA
void setSyscallArg(ThreadContext *tc, int i,
X86ISA::IntReg val) override;
void clone(ThreadContext *old_tc, ThreadContext *new_tc,
- Process *process, TheISA::IntReg flags);
+ Process *process, TheISA::IntReg flags) override;
};
/**
diff --git a/src/sim/process.hh b/src/sim/process.hh
index 5da30a4c3..e4a52e3de 100644
--- a/src/sim/process.hh
+++ b/src/sim/process.hh
@@ -161,8 +161,8 @@ class Process : public SimObject
void replicatePage(Addr vaddr, Addr new_paddr, ThreadContext *old_tc,
ThreadContext *new_tc, bool alloc_page);
- void clone(ThreadContext *old_tc, ThreadContext *new_tc, Process *new_p,
- TheISA::IntReg flags);
+ virtual void clone(ThreadContext *old_tc, ThreadContext *new_tc,
+ Process *new_p, TheISA::IntReg flags);
// thread contexts associated with this process
std::vector<ContextID> contextIds;