summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/o3/commit_impl.hh6
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;