summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-10-09 19:39:34 -0700
committerGabe Black <gabeblack@google.com>2019-10-25 22:42:31 +0000
commitb6d822c5c04a0ea441c66fcf0a736c81f07d17b9 (patch)
treed05f882395b7b9fd91295eb322928053f981f5df
parent7bd57d5a94acbdcb64b4927ea6a673cae18adcc0 (diff)
downloadgem5-b6d822c5c04a0ea441c66fcf0a736c81f07d17b9.tar.xz
cpu: Stop checking for PC changes when servicing a PCEventQueue.
First of all, this would arbitrarily skip events based on when they were encountered in the queue. Second, this is one of the three places where the ThreadContext is actually accessed in pc_event.cc. By removing this and the other uses, this file can be included even when using the NULL ISA, and a lot of #ifdefs can be removed. Change-Id: If81f5e9ff9d3f9833145fec0b6062b4bda8d2e47 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22100 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
-rw-r--r--src/cpu/pc_event.cc7
1 files changed, 0 insertions, 7 deletions
diff --git a/src/cpu/pc_event.cc b/src/cpu/pc_event.cc
index 65094f0ad..90c87334a 100644
--- a/src/cpu/pc_event.cc
+++ b/src/cpu/pc_event.cc
@@ -92,13 +92,6 @@ PCEventQueue::doService(ThreadContext *tc)
int serviced = 0;
range_t range = equal_range(pc);
for (iterator i = range.first; i != range.second; ++i) {
- // Make sure that the pc wasn't changed as the side effect of
- // another event. This for example, prevents two invocations
- // of the SkipFuncEvent. Maybe we should have separate PC
- // event queues for each processor?
- if (pc != tc->instAddr())
- continue;
-
DPRINTF(PCEvent, "PC based event serviced at %#x: %s\n",
(*i)->pc(), (*i)->descr());