1
0

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:
Andrew Waterman 2017-12-07 18:56:06 -08:00
parent ec3789b365
commit a1ebe6da4d

View File

@ -207,6 +207,7 @@ class FrontendModule(outer: Frontend) extends LazyModuleImp(outer)
// a branch! Flush the BTB and the pipeline. // a branch! Flush the BTB and the pipeline.
btb.io.flush := true btb.io.flush := true
fq.io.enq.bits.replay := true fq.io.enq.bits.replay := true
wrong_path := true
} }
when (!prevTaken) { when (!prevTaken) {