mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-22 19:29:06 +08:00
L0 Debugger - DebugSession linux implementation
- new feature, enabled with PRELIM build - implementation of debug session for linux - move ResourceClass enum from Drm to drm_debug.h Resolves: NEO-6814 Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
4e4560fe91
commit
c021e2ec5e
@@ -4185,7 +4185,7 @@ TEST(DrmMemoryMangerTest, givenMultipleRootDeviceWhenMemoryManagerGetsDrmThenDrm
|
||||
TEST_F(DrmAllocationTests, givenResourceRegistrationEnabledWhenAllocationTypeShouldBeRegisteredThenBoHasBindExtHandleAdded) {
|
||||
DrmMockResources drm(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(Drm::ResourceClass::MaxSize); i++) {
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(DrmResourceClass::MaxSize); i++) {
|
||||
drm.classHandles.push_back(i);
|
||||
}
|
||||
|
||||
@@ -4195,9 +4195,9 @@ TEST_F(DrmAllocationTests, givenResourceRegistrationEnabledWhenAllocationTypeSho
|
||||
allocation.bufferObjects[0] = &bo;
|
||||
allocation.registerBOBindExtHandle(&drm);
|
||||
EXPECT_EQ(DrmMockResources::registerResourceReturnHandle, bo.bindExtHandles[0]);
|
||||
EXPECT_EQ(Drm::ResourceClass::ContextSaveArea, drm.registeredClass);
|
||||
EXPECT_EQ(DrmResourceClass::ContextSaveArea, drm.registeredClass);
|
||||
}
|
||||
drm.registeredClass = Drm::ResourceClass::MaxSize;
|
||||
drm.registeredClass = DrmResourceClass::MaxSize;
|
||||
|
||||
{
|
||||
MockBufferObject bo(&drm, 3, 0, 0, 1);
|
||||
@@ -4205,9 +4205,9 @@ TEST_F(DrmAllocationTests, givenResourceRegistrationEnabledWhenAllocationTypeSho
|
||||
allocation.bufferObjects[0] = &bo;
|
||||
allocation.registerBOBindExtHandle(&drm);
|
||||
EXPECT_EQ(DrmMockResources::registerResourceReturnHandle, bo.bindExtHandles[0]);
|
||||
EXPECT_EQ(Drm::ResourceClass::SbaTrackingBuffer, drm.registeredClass);
|
||||
EXPECT_EQ(DrmResourceClass::SbaTrackingBuffer, drm.registeredClass);
|
||||
}
|
||||
drm.registeredClass = Drm::ResourceClass::MaxSize;
|
||||
drm.registeredClass = DrmResourceClass::MaxSize;
|
||||
|
||||
{
|
||||
MockBufferObject bo(&drm, 3, 0, 0, 1);
|
||||
@@ -4215,9 +4215,9 @@ TEST_F(DrmAllocationTests, givenResourceRegistrationEnabledWhenAllocationTypeSho
|
||||
allocation.bufferObjects[0] = &bo;
|
||||
allocation.registerBOBindExtHandle(&drm);
|
||||
EXPECT_EQ(DrmMockResources::registerResourceReturnHandle, bo.bindExtHandles[0]);
|
||||
EXPECT_EQ(Drm::ResourceClass::Isa, drm.registeredClass);
|
||||
EXPECT_EQ(DrmResourceClass::Isa, drm.registeredClass);
|
||||
}
|
||||
drm.registeredClass = Drm::ResourceClass::MaxSize;
|
||||
drm.registeredClass = DrmResourceClass::MaxSize;
|
||||
|
||||
{
|
||||
MockBufferObject bo(&drm, 3, 0, 0, 1);
|
||||
@@ -4225,10 +4225,10 @@ TEST_F(DrmAllocationTests, givenResourceRegistrationEnabledWhenAllocationTypeSho
|
||||
allocation.bufferObjects[0] = &bo;
|
||||
allocation.registerBOBindExtHandle(&drm);
|
||||
EXPECT_EQ(DrmMockResources::registerResourceReturnHandle, bo.bindExtHandles[0]);
|
||||
EXPECT_EQ(Drm::ResourceClass::ModuleHeapDebugArea, drm.registeredClass);
|
||||
EXPECT_EQ(DrmResourceClass::ModuleHeapDebugArea, drm.registeredClass);
|
||||
}
|
||||
|
||||
drm.registeredClass = Drm::ResourceClass::MaxSize;
|
||||
drm.registeredClass = DrmResourceClass::MaxSize;
|
||||
|
||||
{
|
||||
MockBufferObject bo(&drm, 3, 0, 0, 1);
|
||||
@@ -4236,16 +4236,16 @@ TEST_F(DrmAllocationTests, givenResourceRegistrationEnabledWhenAllocationTypeSho
|
||||
allocation.bufferObjects[0] = &bo;
|
||||
allocation.registerBOBindExtHandle(&drm);
|
||||
EXPECT_EQ(0u, bo.bindExtHandles.size());
|
||||
EXPECT_EQ(Drm::ResourceClass::MaxSize, drm.registeredClass);
|
||||
EXPECT_EQ(DrmResourceClass::MaxSize, drm.registeredClass);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(DrmAllocationTests, givenResourceRegistrationEnabledWhenAllocationTypeShouldNotBeRegisteredThenNoBindHandleCreated) {
|
||||
DrmMockResources drm(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
|
||||
drm.registeredClass = Drm::ResourceClass::MaxSize;
|
||||
drm.registeredClass = DrmResourceClass::MaxSize;
|
||||
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(Drm::ResourceClass::MaxSize); i++) {
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(DrmResourceClass::MaxSize); i++) {
|
||||
drm.classHandles.push_back(i);
|
||||
}
|
||||
|
||||
@@ -4256,7 +4256,7 @@ TEST_F(DrmAllocationTests, givenResourceRegistrationEnabledWhenAllocationTypeSho
|
||||
allocation.registerBOBindExtHandle(&drm);
|
||||
EXPECT_EQ(0u, bo.bindExtHandles.size());
|
||||
}
|
||||
EXPECT_EQ(Drm::ResourceClass::MaxSize, drm.registeredClass);
|
||||
EXPECT_EQ(DrmResourceClass::MaxSize, drm.registeredClass);
|
||||
}
|
||||
|
||||
TEST_F(DrmAllocationTests, givenResourceRegistrationNotEnabledWhenRegisteringBindExtHandleThenHandleIsNotAddedToBo) {
|
||||
@@ -4268,7 +4268,7 @@ TEST_F(DrmAllocationTests, givenResourceRegistrationNotEnabledWhenRegisteringBin
|
||||
allocation.bufferObjects[0] = &bo;
|
||||
allocation.registerBOBindExtHandle(&drm);
|
||||
EXPECT_EQ(0u, bo.bindExtHandles.size());
|
||||
EXPECT_EQ(Drm::ResourceClass::MaxSize, drm.registeredClass);
|
||||
EXPECT_EQ(DrmResourceClass::MaxSize, drm.registeredClass);
|
||||
}
|
||||
|
||||
TEST(DrmMemoryManager, givenTrackedAllocationTypeAndDisabledRegistrationInDrmWhenAllocatingThenRegisterBoBindExtHandleIsNotCalled) {
|
||||
@@ -4289,7 +4289,7 @@ TEST(DrmMemoryManager, givenTrackedAllocationTypeAndDisabledRegistrationInDrmWhe
|
||||
memoryManager->registerAllocationInOs(&allocation);
|
||||
|
||||
EXPECT_FALSE(allocation.registerBOBindExtHandleCalled);
|
||||
EXPECT_EQ(Drm::ResourceClass::MaxSize, mockDrm->registeredClass);
|
||||
EXPECT_EQ(DrmResourceClass::MaxSize, mockDrm->registeredClass);
|
||||
}
|
||||
|
||||
TEST(DrmMemoryManager, givenResourceRegistrationEnabledAndAllocTypeToCaptureWhenRegisteringAllocationInOsThenItIsMarkedForCapture) {
|
||||
@@ -4328,7 +4328,7 @@ TEST(DrmMemoryManager, givenTrackedAllocationTypeWhenAllocatingThenAllocationIsR
|
||||
executionEnvironment->rootDeviceEnvironments[0]->initGmm();
|
||||
auto memoryManager = std::make_unique<TestedDrmMemoryManager>(false, false, false, *executionEnvironment);
|
||||
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(Drm::ResourceClass::MaxSize); i++) {
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(DrmResourceClass::MaxSize); i++) {
|
||||
mockDrm->classHandles.push_back(i);
|
||||
}
|
||||
|
||||
@@ -4340,7 +4340,7 @@ TEST(DrmMemoryManager, givenTrackedAllocationTypeWhenAllocatingThenAllocationIsR
|
||||
|
||||
properties.gpuAddress = 0x20000;
|
||||
auto sbaAllocation = memoryManager->allocateGraphicsMemoryWithProperties(properties);
|
||||
EXPECT_EQ(Drm::ResourceClass::SbaTrackingBuffer, mockDrm->registeredClass);
|
||||
EXPECT_EQ(DrmResourceClass::SbaTrackingBuffer, mockDrm->registeredClass);
|
||||
|
||||
EXPECT_EQ(sizeof(uint64_t), mockDrm->registeredDataSize);
|
||||
uint64_t *data = reinterpret_cast<uint64_t *>(mockDrm->registeredData);
|
||||
@@ -4359,7 +4359,7 @@ TEST(DrmMemoryManager, givenTrackedAllocationTypeWhenFreeingThenRegisteredHandle
|
||||
executionEnvironment->rootDeviceEnvironments[0]->initGmm();
|
||||
auto memoryManager = std::make_unique<TestedDrmMemoryManager>(false, false, false, *executionEnvironment);
|
||||
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(Drm::ResourceClass::MaxSize); i++) {
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(DrmResourceClass::MaxSize); i++) {
|
||||
mockDrm->classHandles.push_back(i);
|
||||
}
|
||||
|
||||
@@ -4386,7 +4386,7 @@ TEST(DrmMemoryManager, givenNullBoWhenRegisteringBindExtHandleThenEarlyReturn) {
|
||||
executionEnvironment->rootDeviceEnvironments[0]->setHwInfo(defaultHwInfo.get());
|
||||
auto mockDrm = std::make_unique<DrmMockResources>(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(Drm::ResourceClass::MaxSize); i++) {
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(DrmResourceClass::MaxSize); i++) {
|
||||
mockDrm->classHandles.push_back(i);
|
||||
}
|
||||
|
||||
@@ -4416,11 +4416,11 @@ TEST_F(DrmAllocationTests, givenResourceRegistrationEnabledWhenAllocationIsRegis
|
||||
TEST_F(DrmAllocationTests, givenResourceRegistrationEnabledWhenIsaIsRegisteredThenCookieIsAddedToBoHandle) {
|
||||
DrmMockResources drm(*executionEnvironment->rootDeviceEnvironments[0]);
|
||||
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(Drm::ResourceClass::MaxSize); i++) {
|
||||
for (uint32_t i = 3; i < 3 + static_cast<uint32_t>(DrmResourceClass::MaxSize); i++) {
|
||||
drm.classHandles.push_back(i);
|
||||
}
|
||||
|
||||
drm.registeredClass = Drm::ResourceClass::MaxSize;
|
||||
drm.registeredClass = DrmResourceClass::MaxSize;
|
||||
|
||||
MockBufferObject bo(&drm, 3, 0, 0, 1);
|
||||
MockDrmAllocation allocation(AllocationType::KERNEL_ISA, MemoryPool::System4KBPages);
|
||||
|
||||
@@ -34,7 +34,7 @@ TEST(DrmUuidTest, GivenDrmWhenGeneratingElfUUIDThenCorrectStringsAreReturned) {
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
DrmMock drm{*executionEnvironment->rootDeviceEnvironments[0]};
|
||||
|
||||
std::string elfClassUuid = classNamesToUuid[static_cast<uint32_t>(Drm::ResourceClass::Elf)].second;
|
||||
std::string elfClassUuid = classNamesToUuid[static_cast<uint32_t>(DrmResourceClass::Elf)].second;
|
||||
std::string Uuid1stElfClass = elfClassUuid.substr(0, 18);
|
||||
|
||||
char data[] = "abc";
|
||||
@@ -53,25 +53,25 @@ TEST(DrmUuidTest, GivenDrmWhenGeneratingElfUUIDThenCorrectStringsAreReturned) {
|
||||
}
|
||||
|
||||
TEST(DrmUuidTest, whenResourceClassIsUsedToIndexClassNamesThenCorrectNamesAreReturned) {
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(Drm::ResourceClass::Elf)].first, "I915_UUID_CLASS_ELF_BINARY");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(Drm::ResourceClass::Isa)].first, "I915_UUID_CLASS_ISA_BYTECODE");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(Drm::ResourceClass::ContextSaveArea)].first, "I915_UUID_L0_SIP_AREA");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(Drm::ResourceClass::ModuleHeapDebugArea)].first, "I915_UUID_L0_MODULE_AREA");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(Drm::ResourceClass::SbaTrackingBuffer)].first, "I915_UUID_L0_SBA_AREA");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(Drm::ResourceClass::L0ZebinModule)].first, "L0_ZEBIN_MODULE");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(DrmResourceClass::Elf)].first, "I915_UUID_CLASS_ELF_BINARY");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(DrmResourceClass::Isa)].first, "I915_UUID_CLASS_ISA_BYTECODE");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(DrmResourceClass::ContextSaveArea)].first, "I915_UUID_L0_SIP_AREA");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(DrmResourceClass::ModuleHeapDebugArea)].first, "I915_UUID_L0_MODULE_AREA");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(DrmResourceClass::SbaTrackingBuffer)].first, "I915_UUID_L0_SBA_AREA");
|
||||
EXPECT_STREQ(classNamesToUuid[static_cast<uint32_t>(DrmResourceClass::L0ZebinModule)].first, "L0_ZEBIN_MODULE");
|
||||
}
|
||||
|
||||
TEST(DrmUuidTest, givenUuidStringWhenGettingClassIndexThenCorrectIndexForValidStringsIsReturned) {
|
||||
uint32_t index = 100;
|
||||
auto validUuid = DrmUuid::getClassUuidIndex(classNamesToUuid[static_cast<uint32_t>(Drm::ResourceClass::ContextSaveArea)].second, index);
|
||||
auto validUuid = DrmUuid::getClassUuidIndex(classNamesToUuid[static_cast<uint32_t>(DrmResourceClass::ContextSaveArea)].second, index);
|
||||
|
||||
EXPECT_TRUE(validUuid);
|
||||
EXPECT_EQ(static_cast<uint32_t>(Drm::ResourceClass::ContextSaveArea), index);
|
||||
EXPECT_EQ(static_cast<uint32_t>(DrmResourceClass::ContextSaveArea), index);
|
||||
|
||||
validUuid = DrmUuid::getClassUuidIndex(classNamesToUuid[static_cast<uint32_t>(Drm::ResourceClass::ModuleHeapDebugArea)].second, index);
|
||||
validUuid = DrmUuid::getClassUuidIndex(classNamesToUuid[static_cast<uint32_t>(DrmResourceClass::ModuleHeapDebugArea)].second, index);
|
||||
|
||||
EXPECT_TRUE(validUuid);
|
||||
EXPECT_EQ(static_cast<uint32_t>(Drm::ResourceClass::ModuleHeapDebugArea), index);
|
||||
EXPECT_EQ(static_cast<uint32_t>(DrmResourceClass::ModuleHeapDebugArea), index);
|
||||
|
||||
index = 100;
|
||||
validUuid = DrmUuid::getClassUuidIndex("invalid", index);
|
||||
|
||||
Reference in New Issue
Block a user