O3: Fixes fetch deadlock when the interrupt clears before CPU handles it.
authorMin Kyu Jeong <minkyu.jeong@arm.com>
Tue, 18 Jan 2011 22:30:01 +0000 (16:30 -0600)
committerMin Kyu Jeong <minkyu.jeong@arm.com>
Tue, 18 Jan 2011 22:30:01 +0000 (16:30 -0600)
commit96375409ea7a5593ddd7f4f723db349921f35142
tree38668fb81cc4d07cb037221dcb2d576d327c1309
parent965a01d913f71570150c839ffc7376084d0fed88
O3: Fixes fetch deadlock when the interrupt clears before CPU handles it.

When this condition occurs the cpu should restart the fetch stage to fetch from
the original execution path. Fault handling in the commit stage is cleaned up a
little bit so the control flow is simplier. Finally, if an instruction is being
used to carry a fault it isn't executed, so the fault propagates appropriately.
src/arch/arm/interrupts.hh
src/cpu/o3/commit.hh
src/cpu/o3/commit_impl.hh
src/cpu/o3/fetch.hh
src/cpu/o3/fetch_impl.hh
src/cpu/o3/iew_impl.hh