From 1bb8cd3d44c563877d486953f0534c4dc9daa9e1 Mon Sep 17 00:00:00 2001 From: Gabriel Busnot Date: Thu, 2 Feb 2023 16:16:24 +0000 Subject: [PATCH] sim: Switch from EventWrapper to MemberEventWrapper before deprec Change-Id: I25c81787d522a0dd063112b6727669da46e0f0e7 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67655 Reviewed-by: Daniel Carvalho Tested-by: kokoro Maintainer: Jason Lowe-Power --- src/arch/sparc/isa.hh | 6 +++--- src/base/remote_gdb.hh | 6 +++--- src/dev/arm/smmu_v3.hh | 2 +- src/dev/arm/smmu_v3_deviceifc.hh | 4 +--- src/dev/arm/smmu_v3_proc.cc | 3 +-- src/mem/qos/mem_sink.hh | 4 +--- src/sim/power_domain.hh | 2 +- src/systemc/core/kernel.hh | 2 +- src/systemc/core/scheduler.hh | 12 ++++++------ .../systemc_simple_object/feeder.hh | 2 +- 10 files changed, 19 insertions(+), 24 deletions(-) diff --git a/src/arch/sparc/isa.hh b/src/arch/sparc/isa.hh index 22bfba4f06..dee71d6e0e 100644 --- a/src/arch/sparc/isa.hh +++ b/src/arch/sparc/isa.hh @@ -133,13 +133,13 @@ class ISA : public BaseISA void processSTickCompare(); void processHSTickCompare(); - typedef EventWrapper TickCompareEvent; + typedef MemberEventWrapper<&ISA::processTickCompare> TickCompareEvent; TickCompareEvent *tickCompare = nullptr; - typedef EventWrapper STickCompareEvent; + typedef MemberEventWrapper<&ISA::processSTickCompare> STickCompareEvent; STickCompareEvent *sTickCompare = nullptr; - typedef EventWrapper HSTickCompareEvent; + typedef MemberEventWrapper<&ISA::processHSTickCompare> HSTickCompareEvent; HSTickCompareEvent *hSTickCompare = nullptr; static const int NumGlobalRegs = 8; diff --git a/src/base/remote_gdb.hh b/src/base/remote_gdb.hh index 1c5cd9c7af..7981a13064 100644 --- a/src/base/remote_gdb.hh +++ b/src/base/remote_gdb.hh @@ -274,8 +274,8 @@ class BaseRemoteGDB BaseGdbRegCache *regCachePtr = nullptr; - EventWrapper connectEvent; - EventWrapper disconnectEvent; + MemberEventWrapper<&BaseRemoteGDB::connect> connectEvent; + MemberEventWrapper<&BaseRemoteGDB::detach> disconnectEvent; class TrapEvent : public Event { @@ -308,7 +308,7 @@ class BaseRemoteGDB // Single step. void singleStep(); - EventWrapper singleStepEvent; + MemberEventWrapper<&BaseRemoteGDB::singleStep> singleStepEvent; void clearSingleStep(); void setSingleStep(); diff --git a/src/dev/arm/smmu_v3.hh b/src/dev/arm/smmu_v3.hh index 25b91ff620..8721352c47 100644 --- a/src/dev/arm/smmu_v3.hh +++ b/src/dev/arm/smmu_v3.hh @@ -167,7 +167,7 @@ class SMMUv3 : public ClockedObject SMMUAction runProcessTiming(SMMUProcess *proc, PacketPtr pkt); void processCommands(); - EventWrapper processCommandsEvent; + MemberEventWrapper<&SMMUv3::processCommands> processCommandsEvent; void processCommand(const SMMUCommand &cmd); diff --git a/src/dev/arm/smmu_v3_deviceifc.hh b/src/dev/arm/smmu_v3_deviceifc.hh index c4ffa379f6..3152f8a698 100644 --- a/src/dev/arm/smmu_v3_deviceifc.hh +++ b/src/dev/arm/smmu_v3_deviceifc.hh @@ -114,9 +114,7 @@ class SMMUv3DeviceInterface : public ClockedObject bool atsDeviceNeedsRetry; SMMUDeviceRetryEvent sendDeviceRetryEvent; - EventWrapper< - SMMUv3DeviceInterface, - &SMMUv3DeviceInterface::atsSendDeviceRetry> atsSendDeviceRetryEvent; + MemberEventWrapper<&SMMUv3DeviceInterface::atsSendDeviceRetry> atsSendDeviceRetryEvent; Port& getPort(const std::string &name, PortID id) override; diff --git a/src/dev/arm/smmu_v3_proc.cc b/src/dev/arm/smmu_v3_proc.cc index 2cf2cf9e98..ef3db5dd4d 100644 --- a/src/dev/arm/smmu_v3_proc.cc +++ b/src/dev/arm/smmu_v3_proc.cc @@ -199,8 +199,7 @@ SMMUProcess::doBroadcastSignal(SMMUSignal &sig) void SMMUProcess::scheduleWakeup(Tick when) { - auto *ep = new EventWrapper< - SMMUProcess, &SMMUProcess::wakeup> (this, true); + auto *ep = new MemberEventWrapper<&SMMUProcess::wakeup> (this, true); smmu.schedule(ep, when); } diff --git a/src/mem/qos/mem_sink.hh b/src/mem/qos/mem_sink.hh index d2310c65fe..bd42a9a2ed 100644 --- a/src/mem/qos/mem_sink.hh +++ b/src/mem/qos/mem_sink.hh @@ -222,9 +222,7 @@ class MemSinkCtrl : public MemCtrl void processNextReqEvent(); /** Event wrapper to schedule next request handler function */ - EventWrapper< - MemSinkCtrl, - &MemSinkCtrl::processNextReqEvent> nextReqEvent; + MemberEventWrapper<&MemSinkCtrl::processNextReqEvent> nextReqEvent; /** * Check if the read queue has room for more entries diff --git a/src/sim/power_domain.hh b/src/sim/power_domain.hh index 96233e436b..1264d8f1ba 100644 --- a/src/sim/power_domain.hh +++ b/src/sim/power_domain.hh @@ -151,7 +151,7 @@ class PowerDomain : public PowerState /** * Event to update the power states of the followers */ - EventWrapper + MemberEventWrapper<&PowerDomain::setFollowerPowerStates> pwrStateUpdateEvent; protected: diff --git a/src/systemc/core/kernel.hh b/src/systemc/core/kernel.hh index 9dba9030be..ec47569279 100644 --- a/src/systemc/core/kernel.hh +++ b/src/systemc/core/kernel.hh @@ -65,7 +65,7 @@ class Kernel : public gem5::SimObject private: static void stopWork(); - gem5::EventWrapper t0Event; + gem5::MemberEventWrapper<&Kernel::t0Handler> t0Event; }; extern Kernel *kernel; diff --git a/src/systemc/core/scheduler.hh b/src/systemc/core/scheduler.hh index 6eabb5606c..49ad6c6f0d 100644 --- a/src/systemc/core/scheduler.hh +++ b/src/systemc/core/scheduler.hh @@ -465,13 +465,13 @@ class Scheduler } void runReady(); - gem5::EventWrapper readyEvent; + gem5::MemberEventWrapper<&Scheduler::runReady> readyEvent; void scheduleReadyEvent(); void pause(); void stop(); - gem5::EventWrapper pauseEvent; - gem5::EventWrapper stopEvent; + gem5::MemberEventWrapper<&Scheduler::pause> pauseEvent; + gem5::MemberEventWrapper<&Scheduler::stop> stopEvent; const ::sc_core::sc_report *_throwUp; @@ -484,7 +484,7 @@ class Scheduler timeSlots.front()->targeted_when > maxTick) && initList.empty()); } - gem5::EventWrapper starvationEvent; + gem5::MemberEventWrapper<&Scheduler::pause> starvationEvent; void scheduleStarvationEvent(); bool _elaborationDone; @@ -502,10 +502,10 @@ class Scheduler _changeStamp++; pause(); } - gem5::EventWrapper maxTickEvent; + gem5::MemberEventWrapper<&Scheduler::maxTickFunc> maxTickEvent; void timeAdvances() { trace(false); } - gem5::EventWrapper timeAdvancesEvent; + gem5::MemberEventWrapper<&Scheduler::timeAdvances> timeAdvancesEvent; void scheduleTimeAdvancesEvent() { diff --git a/util/systemc/systemc_within_gem5/systemc_simple_object/feeder.hh b/util/systemc/systemc_within_gem5/systemc_simple_object/feeder.hh index c843c83e2b..865362cf8f 100644 --- a/util/systemc/systemc_within_gem5/systemc_simple_object/feeder.hh +++ b/util/systemc/systemc_within_gem5/systemc_simple_object/feeder.hh @@ -64,7 +64,7 @@ class Feeder : public gem5::SimObject // except to help interact with systemc objects/models. sc_core::sc_buffer buf; - gem5::EventWrapper event; + gem5::MemberEventWrapper<&Feeder::feed> event; void startup() override; };