Sean Wilson has uploaded this change for review. ( https://gem5-review.googlesource.com/3902

Change subject: sim, x86: Make clone a virtual function
......................................................................

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 <spwils...@wisc.edu>
---
M src/arch/x86/process.hh
M src/sim/process.hh
2 files changed, 5 insertions(+), 5 deletions(-)



diff --git a/src/arch/x86/process.hh b/src/arch/x86/process.hh
index 9cd5378..3eb9620 100644
--- a/src/arch/x86/process.hh
+++ b/src/arch/x86/process.hh
@@ -84,7 +84,7 @@
         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 @@
         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 @@
         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 5da30a4..e4a52e3 100644
--- a/src/sim/process.hh
+++ b/src/sim/process.hh
@@ -161,8 +161,8 @@
     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;

--
To view, visit https://gem5-review.googlesource.com/3902
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iccd2f680ff6e3a5536037d688a80ab3f236bbd98
Gerrit-Change-Number: 3902
Gerrit-PatchSet: 1
Gerrit-Owner: Sean Wilson <spwils...@wisc.edu>
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to