Skip to content

Commit 3fced92

Browse files
bmyatesCompute-Runtime-Automation
authored andcommitted
L0 debugger - decanonize SDI address before adding to buffer
Signed-off-by: Yates, Brandon <[email protected]>
1 parent 6bcb2ea commit 3fced92

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

shared/source/debugger/debugger_l0_tgllp_and_later.inl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,16 @@ void DebuggerL0Hw<GfxFamily>::programSbaTrackingCommandsSingleAddressSpace(NEO::
109109
auto miStoreSbaField = cmdStream.getSpaceForCmd<MI_STORE_DATA_IMM>();
110110

111111
auto gpuVaOfAddress = addressOfSDI + offsetToAddress;
112+
112113
auto gpuVaOfData = addressOfSDI + offsetToData;
113-
const auto gpuVaOfDataDWORD1 = gpuVaOfData + 4;
114+
const auto gmmHelper = device->getGmmHelper();
115+
const auto gpuVaOfDataDWORD1 = gmmHelper->decanonize(gpuVaOfData + 4);
114116

115117
NEO::EncodeStoreMMIO<GfxFamily>::encode(miStoreRegMemLow, CS_GPR_R1, gpuVaOfAddress, false);
116118
NEO::EncodeStoreMMIO<GfxFamily>::encode(miStoreRegMemHigh, CS_GPR_R1 + 4, gpuVaOfAddress + 4, false);
117119

118120
MI_STORE_DATA_IMM setSbaBufferAddress = GfxFamily::cmdInitStoreDataImm;
121+
gpuVaOfData = gmmHelper->decanonize(gpuVaOfData);
119122
setSbaBufferAddress.setAddress(gpuVaOfData);
120123
setSbaBufferAddress.setStoreQword(false);
121124
setSbaBufferAddress.setDataDword0(pair.second & 0xffffffff);

shared/test/unit_test/debugger/test_l0_debugger_single_address_space.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,13 @@ HWTEST2_F(SingleAddressSpaceFixture, GivenNonZeroSbaAddressesWhenProgrammingSbaT
188188

189189
itor = find<MI_STORE_DATA_IMM *>(itor, cmdList.end());
190190
ASSERT_NE(cmdList.end(), itor);
191+
auto cmdSdi = genCmdCast<MI_STORE_DATA_IMM *>(*itor);
192+
EXPECT_LT(cmdSdi->TheStructure.Common.Address, 0xfffffffffffcuL);
191193

192194
itor = find<MI_STORE_DATA_IMM *>(itor, cmdList.end());
193195
ASSERT_NE(cmdList.end(), itor);
196+
cmdSdi = genCmdCast<MI_STORE_DATA_IMM *>(*itor);
197+
EXPECT_LT(cmdSdi->TheStructure.Common.Address, 0xfffffffffffcuL);
194198

195199
itor = find<MI_ARB_CHECK *>(itor, cmdList.end());
196200
ASSERT_NE(cmdList.end(), itor);

0 commit comments

Comments
 (0)