gpu-compute: dprint instruction requesting translation
When debugging strange addresses, it is extremely useful to know *what* instruction calculated that address. This make it much easier to follow assembly code backwards to find the source of an incorrect address. This change adds a DPRINTF for GPUTLB that by default prints the disassembly when a virtual address translation is sent to the TLB. Change-Id: I5066c064a48c5c48696863eeccd8d011245ef7b2 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/63176 Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com> Maintainer: Matt Sinclair <mattdsinclair@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -1183,9 +1183,10 @@ ComputeUnit::sendRequest(GPUDynInstPtr gpuDynInst, PortID index, PacketPtr pkt)
|
||||
|
||||
tlbPort[tlbPort_index].retries.push_back(pkt);
|
||||
} else {
|
||||
DPRINTF(GPUTLB,
|
||||
"CU%d: WF[%d][%d]: Translation for addr %#x sent!\n",
|
||||
cu_id, gpuDynInst->simdId, gpuDynInst->wfSlotId, tmp_vaddr);
|
||||
DPRINTF(GPUTLB, "CU%d: WF[%d][%d]: Translation for addr %#x from "
|
||||
"instruction %s sent!\n", cu_id, gpuDynInst->simdId,
|
||||
gpuDynInst->wfSlotId, tmp_vaddr,
|
||||
gpuDynInst->disassemble().c_str());
|
||||
}
|
||||
} else {
|
||||
if (pkt->cmd == MemCmd::MemSyncReq) {
|
||||
|
||||
Reference in New Issue
Block a user