diff options
Diffstat (limited to 'src/cpu/inorder/resources/fetch_unit.cc')
-rw-r--r-- | src/cpu/inorder/resources/fetch_unit.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/cpu/inorder/resources/fetch_unit.cc b/src/cpu/inorder/resources/fetch_unit.cc index 692f78c7b..60452bacd 100644 --- a/src/cpu/inorder/resources/fetch_unit.cc +++ b/src/cpu/inorder/resources/fetch_unit.cc @@ -111,6 +111,7 @@ FetchUnit::createMachInst(std::list<FetchBlock*>::iterator fetch_it, predecoder.setTC(cpu->thread[tid]->getTC()); predecoder.moreBytes(instPC, inst->instAddr(), mach_inst); + assert(predecoder.extMachInstReady()); ext_inst = predecoder.getExtMachInst(instPC); inst->pcState(instPC); @@ -552,3 +553,9 @@ FetchUnit::squashCacheRequest(CacheReqPtr req_ptr) CacheUnit::squashCacheRequest(req_ptr); } +void +FetchUnit::trap(Fault fault, ThreadID tid, DynInstPtr inst) +{ + //@todo: per thread? + predecoder.reset(); +} |