diff options
author | Korey Sewell <ksewell@umich.edu> | 2011-06-19 21:43:38 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2011-06-19 21:43:38 -0400 |
commit | 4c979f9325f0c82f3284ce0fb0cc118d77268cb5 (patch) | |
tree | 3478c09c7cd78d2b51bb7fd7585a996844a996f8 /src | |
parent | 22ba1718c4c36b5abd5fdc8ce32792f5dfdd4fc1 (diff) | |
download | gem5-4c979f9325f0c82f3284ce0fb0cc118d77268cb5.tar.xz |
inorder: optionally track faulting instructions
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/inorder/resources/graduation_unit.cc | 9 |
1 files changed, 9 insertions, 0 deletions
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; |