exetrace.cc (2654:9559cfa91b9d) exetrace.cc (2665:a124942bacb8)
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.
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
27 */
28
29#include <fstream>
30#include <iomanip>
31
32#include "base/loader/symtab.hh"
33#include "cpu/base.hh"
34#include "cpu/exetrace.hh"

--- 42 unchanged lines hidden (view full) ---

77
78 if (flags[PRINT_THREAD_NUM])
79 outs << "T" << thread << " : ";
80
81
82 std::string sym_str;
83 Addr sym_addr;
84 if (debugSymbolTable
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
85 && debugSymbolTable->findNearestSymbol(PC, sym_str, sym_addr)
86 && flags[PC_SYMBOL]) {
90 && debugSymbolTable->findNearestSymbol(PC, sym_str, sym_addr)) {
87 if (PC != sym_addr)
88 sym_str += csprintf("+%d", PC - sym_addr);
89 outs << "@" << sym_str << " : ";
90 }
91 else {
92 outs << "0x" << hex << PC << " : ";
93 }
94

--- 91 unchanged lines hidden (view full) ---

186Param<bool> exe_trace_print_data(&exeTraceParams, "print_data",
187 "print result data", true);
188Param<bool> exe_trace_print_iregs(&exeTraceParams, "print_iregs",
189 "print all integer regs", false);
190Param<bool> exe_trace_print_fetchseq(&exeTraceParams, "print_fetchseq",
191 "print fetch sequence number", false);
192Param<bool> exe_trace_print_cp_seq(&exeTraceParams, "print_cpseq",
193 "print correct-path sequence number", false);
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);
194Param<bool> exe_trace_pc_symbol(&exeTraceParams, "pc_symbol",
195 "Use symbols for the PC if available", true);
196Param<bool> exe_trace_intel_format(&exeTraceParams, "intel_format",
197 "print trace in intel compatible format", false);
198Param<string> exe_trace_system(&exeTraceParams, "trace_system",
199 "print trace of which system (client or server)",
200 "client");
201
202
203//

--- 8 unchanged lines hidden (view full) ---

212 flags[PRINT_CYCLE] = exe_trace_print_cycle;
213 flags[PRINT_OP_CLASS] = exe_trace_print_opclass;
214 flags[PRINT_THREAD_NUM] = exe_trace_print_thread;
215 flags[PRINT_RESULT_DATA] = exe_trace_print_effaddr;
216 flags[PRINT_EFF_ADDR] = exe_trace_print_data;
217 flags[PRINT_INT_REGS] = exe_trace_print_iregs;
218 flags[PRINT_FETCH_SEQ] = exe_trace_print_fetchseq;
219 flags[PRINT_CP_SEQ] = exe_trace_print_cp_seq;
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;
220 flags[PC_SYMBOL] = exe_trace_pc_symbol;
221 flags[INTEL_FORMAT] = exe_trace_intel_format;
222 trace_system = exe_trace_system;
223}
224
225void
226ExecutionTraceParamContext::checkParams()
227{
228 Trace::InstRecord::setParams();
229}
230
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