From 0aaaa6b4ae61c7a57c1a44d1c615dcafc057e0a8 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 13 Dec 2022 00:32:08 -0800 Subject: [PATCH] fastmodel: Change the Signal proxies to use Signal*Port. Change-Id: Ia1aa32d5ea50ff4cc47d1d72a9c25dabd6c30de9 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/66674 Maintainer: Gabe Black Tested-by: kokoro Reviewed-by: Yu-hsin Wang --- src/arch/arm/fastmodel/common/signal_receiver.hh | 6 +++--- src/arch/arm/fastmodel/common/signal_sender.hh | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/arch/arm/fastmodel/common/signal_receiver.hh b/src/arch/arm/fastmodel/common/signal_receiver.hh index 990787743b..9ec760e32b 100644 --- a/src/arch/arm/fastmodel/common/signal_receiver.hh +++ b/src/arch/arm/fastmodel/common/signal_receiver.hh @@ -87,7 +87,7 @@ class SignalReceiver : public amba_pv::signal_slave_base class SignalReceiverInt : public SignalReceiver { public: - using IntPin = IntSourcePin; + using IntPin = SignalSourcePort; explicit SignalReceiverInt(const std::string &name) : SignalReceiver(name) @@ -95,7 +95,7 @@ class SignalReceiverInt : public SignalReceiver onChange([this](bool status) { for (auto &signal : signalOut) { if (signal && signal->isConnected()) - status ? signal->raise() : signal->lower(); + signal->set(status); } }); } @@ -108,7 +108,7 @@ class SignalReceiverInt : public SignalReceiver } if (!signalOut[idx]) { signalOut[idx] = std::make_unique( - csprintf("%s.signalOut[%d]", get_name(), idx), idx, this); + csprintf("%s.signalOut[%d]", get_name(), idx), idx); } return *signalOut[idx]; } diff --git a/src/arch/arm/fastmodel/common/signal_sender.hh b/src/arch/arm/fastmodel/common/signal_sender.hh index 812a1b95c8..c596ed108e 100644 --- a/src/arch/arm/fastmodel/common/signal_sender.hh +++ b/src/arch/arm/fastmodel/common/signal_sender.hh @@ -33,7 +33,7 @@ #include #pragma GCC diagnostic pop -#include "dev/intpin.hh" +#include "sim/signal.hh" namespace gem5 { @@ -42,14 +42,13 @@ GEM5_DEPRECATED_NAMESPACE(FastModel, fastmodel); namespace fastmodel { -class SignalSender : public IntSinkPinBase +class SignalSender : public SignalSinkPort { public: amba_pv::signal_master_port signal_out; SignalSender(const std::string &_name, PortID _id) : - IntSinkPinBase(_name, _id, 0), - signal_out((_name + ".sig").c_str()) + SignalSinkPort(_name, _id), signal_out((_name + ".sig").c_str()) { onChange([this](const bool &new_val) { signal_out.set_state(id, new_val);