From 3532a661c59e6028f44cf6309dfcfdb765a9813a Mon Sep 17 00:00:00 2001 From: Lisa Hsu Date: Wed, 9 Nov 2005 16:42:36 -0500 Subject: [PATCH] just commit what i need for dumping traces compatible with intel's casper --HG-- extra : convert_revision : a0c4a68a576fa771fd553eaedd6a07255a04dca2 --- cpu/exetrace.cc | 33 +++++++++++++++++++++------------ cpu/exetrace.hh | 1 + 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/cpu/exetrace.cc b/cpu/exetrace.cc index 8e200f1e0..3b9853655 100644 --- a/cpu/exetrace.cc +++ b/cpu/exetrace.cc @@ -52,14 +52,17 @@ void Trace::InstRecord::dump(ostream &outs) { if (flags[INTEL_FORMAT]) { - ccprintf(outs, "%7d ) ", cycle); - outs << "0x" << hex << PC << ":\t"; - if (staticInst->isLoad()) { - outs << ""; - } else if (staticInst->isStore()) { - outs << ""; + if (cpu->system->name() == trace_system) { + ccprintf(outs, "%7d ) ", cycle); + outs << "0x" << hex << PC << ":\t"; + if (staticInst->isLoad()) { + outs << ""; + } else if (staticInst->isStore()) { + outs << ""; + } + outs << endl; } } else { if (flags[PRINT_CYCLE]) @@ -135,15 +138,17 @@ Trace::InstRecord::dump(ostream &outs) if (flags[PRINT_CP_SEQ] && cp_seq_valid) outs << " CPSeq=" << dec << cp_seq; + + // + // End of line... + // + outs << endl; } - // - // End of line... - // - outs << endl; } vector Trace::InstRecord::flags(NUM_BITS); +string Trace::InstRecord::trace_system; //////////////////////////////////////////////////////////////////////// // @@ -184,6 +189,9 @@ Param exe_trace_print_cp_seq(&exeTraceParams, "print_cpseq", "print correct-path sequence number", false); Param exe_trace_intel_format(&exeTraceParams, "intel_format", "print trace in intel compatible format", false); +Param exe_trace_system(&exeTraceParams, "trace_system", + "print trace of which system (client or server)", + "client"); // @@ -204,6 +212,7 @@ Trace::InstRecord::setParams() flags[PRINT_FETCH_SEQ] = exe_trace_print_fetchseq; flags[PRINT_CP_SEQ] = exe_trace_print_cp_seq; flags[INTEL_FORMAT] = exe_trace_intel_format; + trace_system = exe_trace_system; } void diff --git a/cpu/exetrace.hh b/cpu/exetrace.hh index 1515869ad..48d8966d8 100644 --- a/cpu/exetrace.hh +++ b/cpu/exetrace.hh @@ -148,6 +148,7 @@ class InstRecord : public Record }; static std::vector flags; + static std::string trace_system; static void setParams();