1
0
Fork 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
1 changed files with 1 additions and 0 deletions

View File

@ -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) {