L0 Debugger Win - read SBA tracking buffer address

MMIO will store SBA tracking buffer address for current context.
This change helps in extracting this address and use to read SBA virtual
register.

Related-To: NEO-6765

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
Jitendra Sharma
2022-06-15 17:27:17 +00:00
committed by Compute-Runtime-Automation
parent 4ece30528c
commit c86c518bc4
4 changed files with 124 additions and 4 deletions

View File

@@ -72,13 +72,19 @@ struct WddmEuDebugInterfaceMock : public WddmMock {
pEscapeInfo->KmEuDbgL0EscapeInfo.EscapeReturnStatus = escapeReturnStatus;
break;
}
case DBGUMD_ACTION_WRITE_GFX_MEMORY:
case DBGUMD_ACTION_WRITE_GFX_MEMORY: {
void *src = reinterpret_cast<void *>(pEscapeInfo->KmEuDbgL0EscapeInfo.ReadGfxMemoryParams.MemoryBufferPtr);
size_t size = pEscapeInfo->KmEuDbgL0EscapeInfo.ReadGfxMemoryParams.MemoryBufferSize;
memcpy(testBuffer, src, size);
pEscapeInfo->KmEuDbgL0EscapeInfo.EscapeReturnStatus = escapeReturnStatus;
break;
}
case DBGUMD_ACTION_READ_MMIO:
uint64_t *ptr = reinterpret_cast<uint64_t *>(pEscapeInfo->KmEuDbgL0EscapeInfo.MmioReadParams.RegisterOutBufferPtr);
*ptr = mockGpuVa;
pEscapeInfo->KmEuDbgL0EscapeInfo.EscapeReturnStatus = DBGUMD_RETURN_ESCAPE_SUCCESS;
break;
}
return ntStatus;
};
@@ -115,6 +121,7 @@ struct WddmEuDebugInterfaceMock : public WddmMock {
uint32_t registerAllocationTypeCalled = 0;
static constexpr size_t bufferSize = 16;
uint8_t testBuffer[bufferSize] = {0};
uint64_t mockGpuVa = 0x12345678;
};
} // namespace NEO