diff --git a/src/cpu/simple/atomic.cc b/src/cpu/simple/atomic.cc index 8ee91758f1..1726db1937 100644 --- a/src/cpu/simple/atomic.cc +++ b/src/cpu/simple/atomic.cc @@ -687,8 +687,7 @@ AtomicSimpleCPU::tick() // keep an instruction count if (fault == NoFault) countInst(); - else if (traceData) { - // If there was a fault, we should trace this instruction. + else if (traceData && !DTRACE(ExecFaulting)) { delete traceData; traceData = NULL; } diff --git a/src/cpu/simple/timing.cc b/src/cpu/simple/timing.cc index b04288ca69..4b093e115a 100644 --- a/src/cpu/simple/timing.cc +++ b/src/cpu/simple/timing.cc @@ -817,8 +817,7 @@ TimingSimpleCPU::completeIfetch(PacketPtr pkt) // keep an instruction count if (fault == NoFault) countInst(); - else if (traceData) { - // If there was a fault, we shouldn't trace this instruction. + else if (traceData && !DTRACE(ExecFaulting)) { delete traceData; traceData = NULL; }