summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Dutu <alexandru.dutu@amd.com>2018-06-25 12:51:53 -0400
committerAlexandru Duțu <alexandru.dutu@amd.com>2018-06-26 16:46:40 +0000
commit90d448080e283a6ba4aca7677b985d4807a40476 (patch)
tree0140f6b1ff720a20863d664f272828689645ed52
parenteab83998f76bb2ee26c03e280e9f6639b8a55ed8 (diff)
downloadgem5-90d448080e283a6ba4aca7677b985d4807a40476.tar.xz
gpu-compute: Remove unneeded Request::setVirt call
This sets the members of a Request object to the values they already hold, except the atomicOpFunctor which is set to nullptr. This call introduces a bug for atomics and is not useful for non-atomic requests. This changeset is also adding the wave PC and instruction sequence number to the Request object. Change-Id: I62f7b4a597483b0aa848a0cfbc72181e1063f56a Reviewed-on: https://gem5-review.googlesource.com/11549 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com> Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com> Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
-rw-r--r--src/gpu-compute/compute_unit.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gpu-compute/compute_unit.cc b/src/gpu-compute/compute_unit.cc
index 1a174c98b..fd328adca 100644
--- a/src/gpu-compute/compute_unit.cc
+++ b/src/gpu-compute/compute_unit.cc
@@ -747,9 +747,10 @@ ComputeUnit::sendRequest(GPUDynInstPtr gpuDynInst, int index, PacketPtr pkt)
updatePageDivergenceDist(tmp_vaddr);
- pkt->req->setVirt(pkt->req->getAsid(), tmp_vaddr, pkt->req->getSize(),
- pkt->req->getFlags(), pkt->req->masterId(),
- pkt->req->getPC());
+ // set PC in request
+ pkt->req->setPC(gpuDynInst->wavefront()->pc());
+
+ pkt->req->setReqInstSeqNum(gpuDynInst->seqNum());
// figure out the type of the request to set read/write
BaseTLB::Mode TLB_mode;