1/* 2 * Copyright (c) 2001-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 10 unchanged lines hidden (view full) --- 19 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 * 28 * Authors: Steve Reinhardt 29 * Lisa Hsu 30 * Nathan Binkert 31 * Steve Raasch |
32 */ 33 34#include <fstream> 35#include <iomanip> 36 37#include "base/loader/symtab.hh" 38#include "cpu/base.hh" 39#include "cpu/exetrace.hh" --- 42 unchanged lines hidden (view full) --- 82 83 if (flags[PRINT_THREAD_NUM]) 84 outs << "T" << thread << " : "; 85 86 87 std::string sym_str; 88 Addr sym_addr; 89 if (debugSymbolTable |
90 && debugSymbolTable->findNearestSymbol(PC, sym_str, sym_addr)) { |
91 if (PC != sym_addr) 92 sym_str += csprintf("+%d", PC - sym_addr); 93 outs << "@" << sym_str << " : "; 94 } 95 else { 96 outs << "0x" << hex << PC << " : "; 97 } 98 --- 91 unchanged lines hidden (view full) --- 190Param<bool> exe_trace_print_data(&exeTraceParams, "print_data", 191 "print result data", true); 192Param<bool> exe_trace_print_iregs(&exeTraceParams, "print_iregs", 193 "print all integer regs", false); 194Param<bool> exe_trace_print_fetchseq(&exeTraceParams, "print_fetchseq", 195 "print fetch sequence number", false); 196Param<bool> exe_trace_print_cp_seq(&exeTraceParams, "print_cpseq", 197 "print correct-path sequence number", false); |
198Param<bool> exe_trace_intel_format(&exeTraceParams, "intel_format", 199 "print trace in intel compatible format", false); 200Param<string> exe_trace_system(&exeTraceParams, "trace_system", 201 "print trace of which system (client or server)", 202 "client"); 203 204 205// --- 8 unchanged lines hidden (view full) --- 214 flags[PRINT_CYCLE] = exe_trace_print_cycle; 215 flags[PRINT_OP_CLASS] = exe_trace_print_opclass; 216 flags[PRINT_THREAD_NUM] = exe_trace_print_thread; 217 flags[PRINT_RESULT_DATA] = exe_trace_print_effaddr; 218 flags[PRINT_EFF_ADDR] = exe_trace_print_data; 219 flags[PRINT_INT_REGS] = exe_trace_print_iregs; 220 flags[PRINT_FETCH_SEQ] = exe_trace_print_fetchseq; 221 flags[PRINT_CP_SEQ] = exe_trace_print_cp_seq; |
222 flags[INTEL_FORMAT] = exe_trace_intel_format; 223 trace_system = exe_trace_system; 224} 225 226void 227ExecutionTraceParamContext::checkParams() 228{ 229 Trace::InstRecord::setParams(); 230} 231 |