mem: use default backdoor behavior for thread_bridge
The original backdoor implementation is incorrect. We use simply fallback to default (disable backdoor) as backdoor across threads is not thread-safe in most of cases. Change-Id: Ia39be0dda4f16917cc3565eb5b012270e6d7697a Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67531 Maintainer: Gabe Black <gabe.black@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Yu-hsin Wang <yuhsingw@google.com>
This commit is contained in:
@@ -64,12 +64,6 @@ ThreadBridge::IncomingPort::recvRespRetry()
|
||||
|
||||
// AtomicResponseProtocol
|
||||
Tick
|
||||
ThreadBridge::IncomingPort::recvAtomicBackdoor(PacketPtr pkt,
|
||||
MemBackdoorPtr &backdoor)
|
||||
{
|
||||
panic("ThreadBridge only supports atomic/functional access.");
|
||||
}
|
||||
Tick
|
||||
ThreadBridge::IncomingPort::recvAtomic(PacketPtr pkt)
|
||||
{
|
||||
EventQueue::ScopedMigration migrate(device_.eventQueue());
|
||||
@@ -84,14 +78,6 @@ ThreadBridge::IncomingPort::recvFunctional(PacketPtr pkt)
|
||||
device_.out_port_.sendFunctional(pkt);
|
||||
}
|
||||
|
||||
void
|
||||
ThreadBridge::IncomingPort::recvMemBackdoorReq(const MemBackdoorReq &req,
|
||||
MemBackdoorPtr &backdoor)
|
||||
{
|
||||
EventQueue::ScopedMigration migrate(device_.eventQueue());
|
||||
device_.out_port_.sendMemBackdoorReq(req, backdoor);
|
||||
}
|
||||
|
||||
ThreadBridge::OutgoingPort::OutgoingPort(const std::string &name,
|
||||
ThreadBridge &device)
|
||||
: RequestPort(name), device_(device)
|
||||
|
||||
@@ -55,14 +55,10 @@ class ThreadBridge : public SimObject
|
||||
void recvRespRetry() override;
|
||||
|
||||
// AtomicResponseProtocol
|
||||
Tick recvAtomicBackdoor(PacketPtr pkt,
|
||||
MemBackdoorPtr &backdoor) override;
|
||||
Tick recvAtomic(PacketPtr pkt) override;
|
||||
|
||||
// FunctionalResponseProtocol
|
||||
void recvFunctional(PacketPtr pkt) override;
|
||||
void recvMemBackdoorReq(const MemBackdoorReq &req,
|
||||
MemBackdoorPtr &backdoor) override;
|
||||
|
||||
private:
|
||||
ThreadBridge &device_;
|
||||
|
||||
Reference in New Issue
Block a user