diff --git a/src/cpu/o3/lsq_impl.hh b/src/cpu/o3/lsq_impl.hh index 70621a5237..d4e0a289ee 100644 --- a/src/cpu/o3/lsq_impl.hh +++ b/src/cpu/o3/lsq_impl.hh @@ -724,6 +724,10 @@ LSQ::pushRequest(const DynInstPtr& inst, bool isLoad, uint8_t *data, inst->setRequest(); req->taskId(cpu->taskId()); + // There might be fault from a previous execution attempt if this is + // a strictly ordered load + inst->getFault() = NoFault; + req->initiateTranslation(); }