O3: When waiting to handle an interrupt, let everything drain out.
authorGabe Black <gblack@eecs.umich.edu>
Tue, 9 Aug 2011 10:37:43 +0000 (03:37 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Tue, 9 Aug 2011 10:37:43 +0000 (03:37 -0700)
commit3989f41261b9d13f336a37cb6717f9fdb5a71bb1
tree8dcde9bcd1448e157b7bcff0dbe9c889faec1b3f
parent821dfc12892ee841916d9aab411f2db7937ba7c4
O3: When waiting to handle an interrupt, let everything drain out.

Before this change, the commit stage would wait until the ROB and store queue
were empty before recognizing an interrupt. The fetch stage would stop
generating instructions at an appropriate point, so commit would then wait
until a valid time to interrupt the instruction stream. Instructions might be
in flight after fetch but not the in the ROB or store queue (in rename, for
instance), so this change makes commit wait until all in flight instructions
are finished.
src/cpu/o3/commit_impl.hh