O3: Add support of function tracing with O3 CPU.
This commit is contained in:
parent
bcb71963eb
commit
d2c26f402c
|
@ -291,17 +291,16 @@ class BaseCPU : public MemObject
|
||||||
void enableFunctionTrace();
|
void enableFunctionTrace();
|
||||||
void traceFunctionsInternal(Addr pc);
|
void traceFunctionsInternal(Addr pc);
|
||||||
|
|
||||||
protected:
|
private:
|
||||||
|
static std::vector<BaseCPU *> cpuList; //!< Static global cpu list
|
||||||
|
|
||||||
|
public:
|
||||||
void traceFunctions(Addr pc)
|
void traceFunctions(Addr pc)
|
||||||
{
|
{
|
||||||
if (functionTracingEnabled)
|
if (functionTracingEnabled)
|
||||||
traceFunctionsInternal(pc);
|
traceFunctionsInternal(pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
|
||||||
static std::vector<BaseCPU *> cpuList; //!< Static global cpu list
|
|
||||||
|
|
||||||
public:
|
|
||||||
static int numSimulatedCPUs() { return cpuList.size(); }
|
static int numSimulatedCPUs() { return cpuList.size(); }
|
||||||
static Counter numSimulatedInstructions()
|
static Counter numSimulatedInstructions()
|
||||||
{
|
{
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
#include "config/use_checker.hh"
|
#include "config/use_checker.hh"
|
||||||
#include "cpu/o3/commit.hh"
|
#include "cpu/o3/commit.hh"
|
||||||
#include "cpu/o3/thread_state.hh"
|
#include "cpu/o3/thread_state.hh"
|
||||||
|
#include "cpu/base.hh"
|
||||||
#include "cpu/exetrace.hh"
|
#include "cpu/exetrace.hh"
|
||||||
#include "cpu/timebuf.hh"
|
#include "cpu/timebuf.hh"
|
||||||
#include "debug/Activity.hh"
|
#include "debug/Activity.hh"
|
||||||
|
@ -992,6 +993,8 @@ DefaultCommit<Impl>::commitInsts()
|
||||||
// Updates misc. registers.
|
// Updates misc. registers.
|
||||||
head_inst->updateMiscRegs();
|
head_inst->updateMiscRegs();
|
||||||
|
|
||||||
|
cpu->traceFunctions(pc[tid].instAddr());
|
||||||
|
|
||||||
TheISA::advancePC(pc[tid], head_inst->staticInst);
|
TheISA::advancePC(pc[tid], head_inst->staticInst);
|
||||||
|
|
||||||
// Keep track of the last sequence number commited
|
// Keep track of the last sequence number commited
|
||||||
|
|
Loading…
Reference in a new issue