diff --git a/src/cpu/inorder/resources/graduation_unit.cc b/src/cpu/inorder/resources/graduation_unit.cc index 641d7b5ad..d34e1b512 100644 --- a/src/cpu/inorder/resources/graduation_unit.cc +++ b/src/cpu/inorder/resources/graduation_unit.cc @@ -72,6 +72,15 @@ GraduationUnit::execute(int slot_num) inst->instName()); inst->setSquashInfo(stage_num); setupSquash(inst, stage_num, tid); + + if (inst->traceData && DTRACE(ExecFaulting)) { + inst->traceData->setStageCycle(stage_num, curTick()); + inst->traceData->setFetchSeq(inst->seqNum); + inst->traceData->dump(); + delete inst->traceData; + inst->traceData = NULL; + } + cpu->trapContext(inst->fault, tid, inst); grad_req->done(false); return;