@@ -242,7 +242,7 @@ TEST_F(IoctlHelperXeTest, givenInvalidPathWhenCreateEuDebugInterfaceThenReturnNu
242242 auto drm = DrmMockXeDebug::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
243243
244244 VariableBackup<size_t > mockFreadReturnBackup (&IoFunctions::mockFreadReturn, 0 );
245- VariableBackup<const char *> eudebugSysFsEntryBackup (&eudebugSysfsEntry[static_cast <uint32_t >(MockEuDebugInterface::euDebugInterfaceType )], " invalidEntry" );
245+ VariableBackup<const char *> eudebugSysFsEntryBackup (&eudebugSysfsEntry[static_cast <uint32_t >(EuDebugInterfaceType::upstream )], " invalidEntry" );
246246
247247 auto euDebugInterface = EuDebugInterface::create (drm->getSysFsPciPath ());
248248 EXPECT_EQ (nullptr , euDebugInterface);
@@ -263,6 +263,8 @@ TEST_F(IoctlHelperXeTest, givenXeRegisterResourceThenCorrectIoctlCalled) {
263263 auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
264264 auto drm = DrmMockXeDebug::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
265265 auto xeIoctlHelper = static_cast <MockIoctlHelperXeDebug *>(drm->ioctlHelper .get ());
266+ auto &eudebugInterface = xeIoctlHelper->euDebugInterface ;
267+ static_cast <MockEuDebugInterface *>(eudebugInterface.get ())->setCurrentInterfaceType (EuDebugInterfaceType::prelim);
266268 constexpr size_t bufferSize = 20 ;
267269 uint8_t buffer[bufferSize];
268270
@@ -298,7 +300,6 @@ TEST_F(IoctlHelperXeTest, givenXeRegisterResourceThenCorrectIoctlCalled) {
298300 EXPECT_EQ (drm->metadataAddr , buffer);
299301 EXPECT_EQ (drm->metadataSize , bufferSize);
300302 EXPECT_EQ (drm->metadataType , static_cast <uint64_t >(EuDebugParam::metadataSbaArea));
301-
302303 drm->metadataID = 0 ;
303304 drm->metadataAddr = nullptr ;
304305 drm->metadataSize = 0 ;
@@ -313,6 +314,9 @@ TEST_F(IoctlHelperXeTest, givenXeunregisterResourceThenCorrectIoctlCalled) {
313314 auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
314315 auto drm = DrmMockXeDebug::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
315316 auto xeIoctlHelper = static_cast <MockIoctlHelperXeDebug *>(drm->ioctlHelper .get ());
317+ auto &eudebugInterface = xeIoctlHelper->euDebugInterface ;
318+ static_cast <MockEuDebugInterface *>(eudebugInterface.get ())->setCurrentInterfaceType (EuDebugInterfaceType::prelim);
319+
316320 xeIoctlHelper->unregisterResource (0x1234 );
317321 EXPECT_EQ (drm->metadataID , 0x1234u );
318322}
@@ -321,6 +325,8 @@ TEST_F(IoctlHelperXeTest, whenGettingVmBindExtFromHandlesThenProperStructsAreRet
321325 auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
322326 auto drm = DrmMockXeDebug::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
323327 auto xeIoctlHelper = static_cast <MockIoctlHelperXeDebug *>(drm->ioctlHelper .get ());
328+ auto &eudebugInterface = xeIoctlHelper->euDebugInterface ;
329+ static_cast <MockEuDebugInterface *>(eudebugInterface.get ())->setCurrentInterfaceType (EuDebugInterfaceType::prelim);
324330
325331 StackVec<uint32_t , 2 > bindExtHandles;
326332 bindExtHandles.push_back (1u );
@@ -340,6 +346,26 @@ TEST_F(IoctlHelperXeTest, whenGettingVmBindExtFromHandlesThenProperStructsAreRet
340346 EXPECT_EQ (reinterpret_cast <uintptr_t >(&vmBindExt[2 ]), vmBindExt[1 ].base .nextExtension );
341347}
342348
349+ TEST_F (IoctlHelperXeTest, givenUpstreamEuDebugInterfaceThenRegisterAndUnregisterResourceAndPrepareVmBindExtReturnEarly) {
350+ auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
351+ auto drm = DrmMockXeDebug::create (*executionEnvironment->rootDeviceEnvironments [0 ]);
352+ auto xeIoctlHelper = static_cast <MockIoctlHelperXeDebug *>(drm->ioctlHelper .get ());
353+
354+ constexpr size_t bufferSize = 20 ;
355+ uint8_t buffer[bufferSize];
356+
357+ auto id = xeIoctlHelper->registerResource (DrmResourceClass::elf, buffer, bufferSize);
358+ EXPECT_EQ (id, 0u );
359+
360+ drm->metadataID = 0x6789u ;
361+ xeIoctlHelper->unregisterResource (0x1234 );
362+ EXPECT_EQ (drm->metadataID , 0x6789u );
363+
364+ StackVec<uint32_t , 2 > bindExtHandles;
365+ auto retVal = xeIoctlHelper->prepareVmBindExt (bindExtHandles, 1 );
366+ EXPECT_EQ (retVal, nullptr );
367+ }
368+
343369TEST_F (IoctlHelperXeTest, givenRegisterIsaHandleWhenIsaIsTileInstancedThenBOCookieSet) {
344370 const uint32_t rootDeviceIndex = 0u ;
345371 auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
0 commit comments