feature: Implement debugger open IOCTL

Related-To: NEO-8405

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
Jitendra Sharma
2024-01-23 16:25:51 +00:00
committed by Compute-Runtime-Automation
parent cfba0e0861
commit 548ecec7f8
4 changed files with 26 additions and 0 deletions

View File

@@ -1132,6 +1132,9 @@ int IoctlHelperXe::ioctl(DrmIoctl request, void *arg) {
xeLog(" -> IoctlHelperXe::ioctl GemCreate h=0x%x s=0x%lx p=0x%x f=0x%x r=%d\n",
gemCreate->handle, gemCreate->size, gemCreate->flags, ret);
} break;
case DrmIoctl::debuggerOpen: {
ret = debuggerOpenIoctl(request, arg);
} break;
default:
xeLog("Not handled 0x%x\n", request);
UNRECOVERABLE_IF(true);

View File

@@ -147,6 +147,7 @@ class IoctlHelperXe : public IoctlHelper {
void xeShowBindTable();
void updateBindInfo(uint32_t handle, uint64_t userPtr, uint64_t size);
void *allocateDebugMetadata();
int debuggerOpenIoctl(DrmIoctl request, void *arg);
void *freeDebugMetadata(void *metadata);
int getRunaloneExtProperty();

View File

@@ -30,6 +30,14 @@ unsigned int IoctlHelperXe::getIoctlRequestValueDebugger(DrmIoctl ioctlRequest)
}
}
int IoctlHelperXe::debuggerOpenIoctl(DrmIoctl request, void *arg) {
drm_xe_eudebug_connect *connect = static_cast<drm_xe_eudebug_connect *>(arg);
auto ret = IoctlHelper::ioctl(request, arg);
xeLog(" -> IoctlHelperXe::ioctl debuggerOpen pid=%llu r=%d\n",
connect->pid, ret);
return ret;
}
void *IoctlHelperXe::allocateDebugMetadata() {
drm_xe_ext_vm_set_debug_metadata *prev = nullptr;
drm_xe_ext_vm_set_debug_metadata *xeMetadataRoot = nullptr;