diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2009-02-26 19:29:17 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2009-02-26 19:29:17 -0500 |
commit | d447ccb2c61a9225e5663ac29c999ac0a52a412f (patch) | |
tree | 4bec20ac0e8d9d3fcc2c3b0166733d24e45d49cc /src/cpu/o3/dyn_inst_impl.hh | |
parent | 6fd4bc34a154601ba0a74e41875094c20076e091 (diff) | |
download | gem5-d447ccb2c61a9225e5663ac29c999ac0a52a412f.tar.xz |
CPA: Add code to automatically record function symbols as CPU executes.
Diffstat (limited to 'src/cpu/o3/dyn_inst_impl.hh')
-rw-r--r-- | src/cpu/o3/dyn_inst_impl.hh | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cpu/o3/dyn_inst_impl.hh b/src/cpu/o3/dyn_inst_impl.hh index 6398a3afe..8d391ceaf 100644 --- a/src/cpu/o3/dyn_inst_impl.hh +++ b/src/cpu/o3/dyn_inst_impl.hh @@ -28,6 +28,7 @@ * Authors: Kevin Lim */ +#include "base/cp_annotate.hh" #include "cpu/o3/dyn_inst.hh" template <class Impl> @@ -136,6 +137,10 @@ BaseO3DynInst<Impl>::hwrei() // Set the next PC based on the value of the EXC_ADDR IPR. this->setNextPC(this->cpu->readMiscRegNoEffect(AlphaISA::IPR_EXC_ADDR, this->threadNumber)); + if (CPA::available()) { + ThreadContext *tc = this->cpu->tcBase(this->threadNumber); + CPA::cpa()->swAutoBegin(tc, this->readNextPC()); + } // Tell CPU to clear any state it needs to if a hwrei is taken. this->cpu->hwrei(this->threadNumber); |