diff options
Diffstat (limited to 'src/cpu')
-rw-r--r-- | src/cpu/o3/commit_impl.hh | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cpu/o3/commit_impl.hh b/src/cpu/o3/commit_impl.hh index c7b255123..2c1c9fef2 100644 --- a/src/cpu/o3/commit_impl.hh +++ b/src/cpu/o3/commit_impl.hh @@ -752,8 +752,10 @@ DefaultCommit<Impl>::handleInterrupt() cpu->checker->handlePendingInt(); } - // CPU will handle interrupt. - cpu->processInterrupts(interrupt); + // CPU will handle interrupt. Note that we ignore the local copy of + // interrupt. This is because the local copy may no longer be the + // interrupt that the interrupt controller thinks is being handled. + cpu->processInterrupts(cpu->getInterrupts()); thread[0]->noSquashFromTC = false; |