dev-amdgpu: Allow for atomics in SystemHub

It seems that applications can be compiled which issue atomics to host
memory, such as heterosync. Remove the arbitrary assert to disallow them
and issue atomics as a DMA write by default.

Change-Id: I7812a421a9312406b3faccdc05d6c7e9fc837da0
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/59669
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Matthew Poremba
2022-05-13 10:00:32 -07:00
parent 49c6e2fb48
commit 1e6ff02c25

View File

@@ -42,15 +42,13 @@ AMDGPUSystemHub::sendRequest(PacketPtr pkt, Event *callback)
ResponseEvent *dmaRespEvent = new ResponseEvent(callback);
Tick delay = 0;
// Assuming read XOR write (i.e., not an atomic).
assert(pkt->isRead() ^ pkt->isWrite());
if (pkt->isRead()) {
dmaRead(pkt->getAddr(), pkt->getSize(), dmaRespEvent,
pkt->getPtr<uint8_t>(), 0, 0, delay);
} else {
if (pkt->isWrite()) {
dmaWrite(pkt->getAddr(), pkt->getSize(), dmaRespEvent,
pkt->getPtr<uint8_t>(), 0, 0, delay);
} else {
assert(pkt->isRead());
dmaRead(pkt->getAddr(), pkt->getSize(), dmaRespEvent,
pkt->getPtr<uint8_t>(), 0, 0, delay);
}
}