dev-amdgpu: Add PM4 queue ID to GPU used VMID map
When restoring checkpoints for certain applications, gem5 tries to create new doorbells with a pre-existing queue ID and simulation crashes shortly after. This commit adds existing IDs to the GPU device's used VMID map so that new doorbells are aware of existing queue IDs and use a new ID. This ensures that queue IDs are unique after checkpoint restoration Change-Id: I9bf89a2769db26ceab4441634ff2da936eea6d6f
This commit is contained in:
@@ -1197,6 +1197,8 @@ PM4PacketProcessor::unserialize(CheckpointIn &cp)
|
||||
PM4MapQueues* pkt = new PM4MapQueues;
|
||||
memset(pkt, 0, sizeof(PM4MapQueues));
|
||||
newQueue(mqd, offset[i], pkt, id[i]);
|
||||
PM4Queue *new_q = queuesMap[offset[i]];
|
||||
gpuDevice->insertQId(gpuDevice->lastVMID(), new_q->id());
|
||||
|
||||
if (ib[i]) {
|
||||
queues[id[i]]->wptr(ib_wptr[i]);
|
||||
|
||||
Reference in New Issue
Block a user