diff --git a/src/cpu/minor/activity.cc b/src/cpu/minor/activity.cc index aefe65c3f9..deabf06561 100644 --- a/src/cpu/minor/activity.cc +++ b/src/cpu/minor/activity.cc @@ -59,7 +59,8 @@ MinorActivityRecorder::minorTrace() const stages << ','; } - MINORTRACE("activity=%d stages=%s\n", getActivityCount(), stages.str()); + Minor::minorTrace("activity=%d stages=%s\n", getActivityCount(), + stages.str()); } } diff --git a/src/cpu/minor/buffers.hh b/src/cpu/minor/buffers.hh index 11ae83aedd..77914f7da9 100644 --- a/src/cpu/minor/buffers.hh +++ b/src/cpu/minor/buffers.hh @@ -208,7 +208,7 @@ class MinorBuffer : public Named, public TimeBuffer data << ','; } - MINORTRACE("%s=%s\n", dataName, data.str()); + Minor::minorTrace("%s=%s\n", dataName, data.str()); } }; @@ -547,7 +547,7 @@ class Queue : public Named, public Reservable data << ','; } - MINORTRACE("%s=%s\n", dataName, data.str()); + Minor::minorTrace("%s=%s\n", dataName, data.str()); } }; diff --git a/src/cpu/minor/decode.cc b/src/cpu/minor/decode.cc index a88af21df0..556bfa903c 100644 --- a/src/cpu/minor/decode.cc +++ b/src/cpu/minor/decode.cc @@ -344,7 +344,7 @@ Decode::minorTrace() const else (*out.inputWire).reportData(data); - MINORTRACE("insts=%s\n", data.str()); + Minor::minorTrace("insts=%s\n", data.str()); inputBuffer[0].minorTrace(); } diff --git a/src/cpu/minor/dyn_inst.cc b/src/cpu/minor/dyn_inst.cc index c0b5495513..bfd83ea1f5 100644 --- a/src/cpu/minor/dyn_inst.cc +++ b/src/cpu/minor/dyn_inst.cc @@ -182,7 +182,7 @@ MinorDynInst::minorTraceInst(const Named &named_object, const BaseISA::RegClasses ®_classes) const { if (isFault()) { - MINORINST(&named_object, "id=F;%s addr=0x%x fault=\"%s\"\n", + minorInst(named_object, "id=F;%s addr=0x%x fault=\"%s\"\n", id, pc.instAddr(), fault->name()); } else { unsigned int num_src_regs = staticInst->numSrcRegs(); @@ -223,7 +223,7 @@ MinorDynInst::minorTraceInst(const Named &named_object, std::ostringstream flags; staticInst->printFlags(flags, " "); - MINORINST(&named_object, "id=%s addr=0x%x inst=\"%s\" class=%s" + minorInst(named_object, "id=%s addr=0x%x inst=\"%s\" class=%s" " flags=\"%s\"%s%s\n", id, pc.instAddr(), (staticInst->opClass() == No_OpClass ? diff --git a/src/cpu/minor/execute.cc b/src/cpu/minor/execute.cc index 9ab135b967..cf08c852e3 100644 --- a/src/cpu/minor/execute.cc +++ b/src/cpu/minor/execute.cc @@ -1675,7 +1675,7 @@ Execute::minorTrace() const stalled << ','; } - MINORTRACE("insts=%s inputIndex=%d streamSeqNum=%d" + Minor::minorTrace("insts=%s inputIndex=%d streamSeqNum=%d" " stalled=%s drainState=%d isInbetweenInsts=%d\n", insts.str(), executeInfo[0].inputIndex, executeInfo[0].streamSeqNum, stalled.str(), executeInfo[0].drainState, isInbetweenInsts(0)); diff --git a/src/cpu/minor/fetch1.cc b/src/cpu/minor/fetch1.cc index ebcc88dc6b..9b774c0203 100644 --- a/src/cpu/minor/fetch1.cc +++ b/src/cpu/minor/fetch1.cc @@ -391,16 +391,16 @@ void Fetch1::minorTraceResponseLine(const std::string &name, Fetch1::FetchRequestPtr response) const { - GEM5_VAR_USED const RequestPtr &request = response->request; + const RequestPtr &request = response->request; if (response->packet && response->packet->isError()) { - MINORLINE(this, "id=F;%s vaddr=0x%x fault=\"error packet\"\n", + minorLine(*this, "id=F;%s vaddr=0x%x fault=\"error packet\"\n", response->id, request->getVaddr()); } else if (response->fault != NoFault) { - MINORLINE(this, "id=F;%s vaddr=0x%x fault=\"%s\"\n", + minorLine(*this, "id=F;%s vaddr=0x%x fault=\"%s\"\n", response->id, request->getVaddr(), response->fault->name()); } else { - MINORLINE(this, "id=%s size=%d vaddr=0x%x paddr=0x%x\n", + minorLine(*this, "id=%s size=%d vaddr=0x%x paddr=0x%x\n", response->id, request->getSize(), request->getVaddr(), request->getPaddr()); } @@ -765,7 +765,7 @@ Fetch1::minorTrace() const else (*out.inputWire).reportData(data); - MINORTRACE("state=%s icacheState=%s in_tlb_mem=%s/%s" + Minor::minorTrace("state=%s icacheState=%s in_tlb_mem=%s/%s" " streamSeqNum=%d lines=%s\n", thread.state, icacheState, numFetchesInITLB, numFetchesInMemorySystem, thread.streamSeqNum, data.str()); diff --git a/src/cpu/minor/fetch2.cc b/src/cpu/minor/fetch2.cc index 7f791f80df..dace07d2c4 100644 --- a/src/cpu/minor/fetch2.cc +++ b/src/cpu/minor/fetch2.cc @@ -644,8 +644,9 @@ Fetch2::minorTrace() const else (*out.inputWire).reportData(data); - MINORTRACE("inputIndex=%d havePC=%d predictionSeqNum=%d insts=%s\n", - fetchInfo[0].inputIndex, fetchInfo[0].havePC, fetchInfo[0].predictionSeqNum, data.str()); + Minor::minorTrace("inputIndex=%d havePC=%d predictionSeqNum=%d insts=%s\n", + fetchInfo[0].inputIndex, fetchInfo[0].havePC, + fetchInfo[0].predictionSeqNum, data.str()); inputBuffer[0].minorTrace(); } diff --git a/src/cpu/minor/lsq.cc b/src/cpu/minor/lsq.cc index 56ec39edd7..b7e039f76a 100644 --- a/src/cpu/minor/lsq.cc +++ b/src/cpu/minor/lsq.cc @@ -950,7 +950,7 @@ LSQ::StoreBuffer::minorTrace() const os << ','; } - MINORTRACE("addr=%s num_unissued_stores=%d\n", os.str(), + Minor::minorTrace("addr=%s num_unissued_stores=%d\n", os.str(), numUnissuedAccesses); } @@ -1665,7 +1665,7 @@ LSQ::pushFailedRequest(MinorDynInstPtr inst) void LSQ::minorTrace() const { - MINORTRACE("state=%s in_tlb_mem=%d/%d stores_in_transfers=%d" + Minor::minorTrace("state=%s in_tlb_mem=%d/%d stores_in_transfers=%d" " lastMemBarrier=%d\n", state, numAccessesInDTLB, numAccessesInMemorySystem, numStoresInTransfers, lastMemBarrier[0]); diff --git a/src/cpu/minor/scoreboard.cc b/src/cpu/minor/scoreboard.cc index 3fa60f1a49..18eaf5d772 100644 --- a/src/cpu/minor/scoreboard.cc +++ b/src/cpu/minor/scoreboard.cc @@ -302,7 +302,7 @@ Scoreboard::minorTrace() const i++; } - MINORTRACE("busy=%s\n", result_stream.str()); + Minor::minorTrace("busy=%s\n", result_stream.str()); } } diff --git a/src/cpu/minor/trace.hh b/src/cpu/minor/trace.hh index a3bbb320c1..1900ba0d0e 100644 --- a/src/cpu/minor/trace.hh +++ b/src/cpu/minor/trace.hh @@ -50,6 +50,7 @@ #include +#include "base/named.hh" #include "base/trace.hh" #include "debug/MinorTrace.hh" @@ -57,16 +58,30 @@ namespace Minor { /** DPRINTFN for MinorTrace reporting */ -#define MINORTRACE(...) \ - DPRINTF(MinorTrace, "MinorTrace: " __VA_ARGS__) +template +inline void +minorTrace(const char *fmt, Args ...args) +{ + DPRINTF(MinorTrace, (std::string("MinorTrace: ") + fmt).c_str(), args...); +} /** DPRINTFN for MinorTrace MinorInst line reporting */ -#define MINORINST(sim_object, ...) \ - DPRINTFS(MinorTrace, (sim_object), "MinorInst: " __VA_ARGS__) +template +inline void +minorInst(const Named &named, const char *fmt, Args ...args) +{ + DPRINTFS(MinorTrace, &named, (std::string("MinorInst: ") + fmt).c_str(), + args...); +} /** DPRINTFN for MinorTrace MinorLine line reporting */ -#define MINORLINE(sim_object, ...) \ - DPRINTFS(MinorTrace, (sim_object), "MinorLine: " __VA_ARGS__) +template +inline void +minorLine(const Named &named, const char *fmt, Args ...args) +{ + DPRINTFS(MinorTrace, &named, (std::string("MinorLine: ") + fmt).c_str(), + args...); +} }