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; --- 109 unchanged lines hidden (view full) --- 118 ccprintf(os, "====================================================================\n"); 119 ccprintf(os, "%69s\n", sectionString); 120 ccprintf(os, "====================================================================\n"); 121} 122 123#endif 124 125void |
126Trace::InstRecord::dump() |
127{ |
128 ostream &outs = Trace::output(); 129 |
130 DPRINTF(Sparc, "Instruction: %#X\n", staticInst->machInst); 131 if (flags[PRINT_REG_DELTA]) 132 { 133#if THE_ISA == SPARC_ISA 134 //Don't print what happens for each micro-op, just print out 135 //once at the last op, and for regular instructions. 136 if(!staticInst->isMicroOp() || staticInst->isLastMicroOp()) 137 { --- 53 unchanged lines hidden (view full) --- 191 } 192 else if (flags[INTEL_FORMAT]) { 193#if FULL_SYSTEM 194 bool is_trace_system = (thread->getCpuPtr()->system->name() == trace_system); 195#else 196 bool is_trace_system = true; 197#endif 198 if (is_trace_system) { |
199 ccprintf(outs, "%7d ) ", when); |
200 outs << "0x" << hex << PC << ":\t"; 201 if (staticInst->isLoad()) { 202 outs << "<RD 0x" << hex << addr; 203 outs << ">"; 204 } else if (staticInst->isStore()) { 205 outs << "<WR 0x" << hex << addr; 206 outs << ">"; 207 } 208 outs << endl; 209 } 210 } else { |
211 if (flags[PRINT_TICKS]) 212 ccprintf(outs, "%7d: ", when); |
213 214 outs << thread->getCpuPtr()->name() << " "; 215 216 if (flags[TRACE_MISSPEC]) 217 outs << (misspeculating ? "-" : "+") << " "; 218 219 if (flags[PRINT_THREAD_NUM]) 220 outs << "T" << thread->getThreadNum() << " : "; --- 100 unchanged lines hidden (view full) --- 321 bool diffOtherwin = false; 322 bool diffCleanwin = false; 323 bool diffTlb = false; 324 Addr m5Pc, lgnPc; 325 326 // We took a trap on a micro-op... 327 if (wasMicro && !staticInst->isMicroOp()) 328 { |
329 // let's skip comparing this tick |
330 while (!compared) 331 if (shared_data->flags == OWN_M5) { 332 shared_data->flags = OWN_LEGION; 333 compared = true; 334 } 335 compared = false; 336 wasMicro = false; 337 } --- 407 unchanged lines hidden (view full) --- 745// Helper function for ExecutionTraceParamContext::checkParams() just 746// to get us into the InstRecord namespace 747// 748void 749Trace::InstRecord::setParams() 750{ 751 flags[TRACE_MISSPEC] = exe_trace_spec; 752 |
753 flags[PRINT_TICKS] = exe_trace_print_cycle; |
754 flags[PRINT_OP_CLASS] = exe_trace_print_opclass; 755 flags[PRINT_THREAD_NUM] = exe_trace_print_thread; 756 flags[PRINT_RESULT_DATA] = exe_trace_print_effaddr; 757 flags[PRINT_EFF_ADDR] = exe_trace_print_data; 758 flags[PRINT_INT_REGS] = exe_trace_print_iregs; 759 flags[PRINT_FETCH_SEQ] = exe_trace_print_fetchseq; 760 flags[PRINT_CP_SEQ] = exe_trace_print_cp_seq; 761 flags[PRINT_REG_DELTA] = exe_trace_print_reg_delta; --- 34 unchanged lines hidden --- |