Gabe Black has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/66674?usp=email )
Change subject: fastmodel: Change the Signal proxies to use
Signal*Port<bool>.
......................................................................
fastmodel: Change the Signal proxies to use Signal*Port<bool>.
Change-Id: Ia1aa32d5ea50ff4cc47d1d72a9c25dabd6c30de9
---
M src/arch/arm/fastmodel/common/signal_receiver.hh
M src/arch/arm/fastmodel/common/signal_sender.hh
2 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/src/arch/arm/fastmodel/common/signal_receiver.hh
b/src/arch/arm/fastmodel/common/signal_receiver.hh
index 9907877..9ec760e 100644
--- a/src/arch/arm/fastmodel/common/signal_receiver.hh
+++ b/src/arch/arm/fastmodel/common/signal_receiver.hh
@@ -87,7 +87,7 @@
class SignalReceiverInt : public SignalReceiver
{
public:
- using IntPin = IntSourcePin<SignalReceiverInt>;
+ using IntPin = SignalSourcePort<bool>;
explicit SignalReceiverInt(const std::string &name)
: SignalReceiver(name)
@@ -95,7 +95,7 @@
onChange([this](bool status) {
for (auto &signal : signalOut) {
if (signal && signal->isConnected())
- status ? signal->raise() : signal->lower();
+ signal->set(status);
}
});
}
@@ -108,7 +108,7 @@
}
if (!signalOut[idx]) {
signalOut[idx] = std::make_unique<IntPin>(
- 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 812a1b9..c596ed1 100644
--- a/src/arch/arm/fastmodel/common/signal_sender.hh
+++ b/src/arch/arm/fastmodel/common/signal_sender.hh
@@ -33,7 +33,7 @@
#include <amba_pv.h>
#pragma GCC diagnostic pop
-#include "dev/intpin.hh"
+#include "sim/signal.hh"
namespace gem5
{
@@ -42,14 +42,13 @@
namespace fastmodel
{
-class SignalSender : public IntSinkPinBase
+class SignalSender : public SignalSinkPort<bool>
{
public:
amba_pv::signal_master_port<bool> 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);
--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/66674?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ia1aa32d5ea50ff4cc47d1d72a9c25dabd6c30de9
Gerrit-Change-Number: 66674
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <gabe.bl...@gmail.com>
Gerrit-CC: Gabe Black <gabebl...@google.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org