Prevent frontend deadlock fetching from uncacheable memory
After detecting a corrupted BTB, don't speculatively update it until the next non-speculative fetch. This prevents the frontend from replaying forever.
This commit is contained in:
parent
ec3789b365
commit
a1ebe6da4d
@ -207,6 +207,7 @@ class FrontendModule(outer: Frontend) extends LazyModuleImp(outer)
|
||||
// a branch! Flush the BTB and the pipeline.
|
||||
btb.io.flush := true
|
||||
fq.io.enq.bits.replay := true
|
||||
wrong_path := true
|
||||
}
|
||||
|
||||
when (!prevTaken) {
|
||||
|
Loading…
Reference in New Issue
Block a user