From: Gabe Black Date: Thu, 10 Oct 2019 02:39:34 +0000 (-0700) Subject: cpu: Stop checking for PC changes when servicing a PCEventQueue. X-Git-Tag: v19.0.0.0~410 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b6d822c5c04a0ea441c66fcf0a736c81f07d17b9;p=gem5.git 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 Maintainer: Andreas Sandberg Tested-by: kokoro --- 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());