From: Korey Sewell Date: Mon, 20 Jun 2011 01:43:38 +0000 (-0400) Subject: inorder: optionally track faulting instructions X-Git-Tag: stable_2012_02_02~234 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4c979f9325f0c82f3284ce0fb0cc118d77268cb5;p=gem5.git inorder: optionally track faulting instructions --- 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;