Skip to content

Commit 5677d4b

Browse files
JemaleCompute-Runtime-Automation
authored andcommitted
refactor: Update eudebug header
Resolves: NEO-16069 Signed-off-by: Jemale Lockett <jemale.lockett@intel.com>
1 parent 3d8a19c commit 5677d4b

File tree

15 files changed

+5453
-5104
lines changed

15 files changed

+5453
-5104
lines changed

level_zero/tools/source/debug/linux/xe/debug_session.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,15 @@ DebugSession *DebugSessionLinuxXe::createLinuxSession(const zet_debug_config_t &
7272
return nullptr;
7373
}
7474

75+
ze_result_t DebugSessionLinuxXe::initialize() {
76+
if (euDebugInterface->getInterfaceType() == NEO::EuDebugInterfaceType::upstream) {
77+
clientHandleToConnection[euDebugInterface->getDefaultClientHandle()].reset(new ClientConnectionXe);
78+
clientHandleToConnection[euDebugInterface->getDefaultClientHandle()]->client = NEO::EuDebugEventClient{};
79+
clientHandleToConnection[euDebugInterface->getDefaultClientHandle()]->client.clientHandle = euDebugInterface->getDefaultClientHandle();
80+
}
81+
return DebugSessionLinux::initialize();
82+
}
83+
7584
bool DebugSessionLinuxXe::handleInternalEvent() {
7685
auto eventMemory = getInternalEvent();
7786
if (eventMemory == nullptr) {

level_zero/tools/source/debug/linux/xe/debug_session.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ struct DebugSessionLinuxXe : DebugSessionLinux {
2626
DebugSessionLinuxXe(const zet_debug_config_t &config, Device *device, int debugFd, std::unique_ptr<NEO::EuDebugInterface> debugInterface, void *params);
2727
static DebugSession *createLinuxSession(const zet_debug_config_t &config, Device *device, ze_result_t &result, bool isRootAttach);
2828

29+
ze_result_t initialize() override;
30+
2931
struct IoctlHandlerXe : DebugSessionLinux::IoctlHandler {
3032
IoctlHandlerXe(const NEO::EuDebugInterface &euDebugInterface) : euDebugInterface(euDebugInterface){};
3133
int ioctl(int fd, unsigned long request, void *arg) override {

level_zero/tools/test/unit_tests/sources/debug/linux/xe/debug_session_fixtures_linux_xe.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ struct MockDebugSessionLinuxXe : public L0::DebugSessionLinuxXe {
181181
using L0::DebugSessionLinuxXe::clientHandleToConnection;
182182
using L0::DebugSessionLinuxXe::debugArea;
183183
using L0::DebugSessionLinuxXe::euControlInterruptSeqno;
184+
using L0::DebugSessionLinuxXe::euDebugInterface;
184185
using L0::DebugSessionLinuxXe::eventTypeIsAttention;
185186
using L0::DebugSessionLinuxXe::getEuControlCmdUnlock;
186187
using L0::DebugSessionLinuxXe::getThreadStateMutexForTileSession;

level_zero/tools/test/unit_tests/sources/debug/linux/xe/test_debug_api_linux_xe.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,23 @@ TEST_F(DebugApiLinuxTestXe, GivenDebugSessionWhenPollReturnsZeroThenNotReadyIsRe
364364
EXPECT_EQ(ZE_RESULT_NOT_READY, result);
365365
}
366366

367+
TEST_F(DebugApiLinuxTestXe, GivenDebugSessionWhenInterfaceIsUpstreamThenDefaultClientHandleConnectionCreated) {
368+
zet_debug_config_t config = {};
369+
config.pid = 0x1234;
370+
371+
auto session = std::make_unique<MockDebugSessionLinuxXe>(config, device, 10);
372+
ASSERT_NE(nullptr, session);
373+
374+
auto handler = new MockIoctlHandlerXe;
375+
session->ioctlHandler.reset(handler);
376+
377+
session->clientHandleToConnection.clear();
378+
379+
session->initialize();
380+
EXPECT_EQ(1u, session->clientHandleToConnection.size());
381+
EXPECT_NE(session->clientHandleToConnection.end(), session->clientHandleToConnection.find(EuDebugInterfaceUpstream::defaultClientHandle));
382+
}
383+
367384
TEST_F(DebugApiLinuxTestXe, GivenDebugSessionInitializationWhenNoValidEventsAreReadThenResultNotReadyIsReturned) {
368385
zet_debug_config_t config = {};
369386
config.pid = 0x1234;

shared/source/os_interface/linux/xe/eudebug/eudebug_interface.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class EuDebugInterface {
2222
static std::unique_ptr<EuDebugInterface> create(const std::string &sysFsPciPath);
2323
virtual uint32_t getParamValue(EuDebugParam param) const = 0;
2424
virtual bool isExecQueuePageFaultEnableSupported() { return false; };
25+
virtual uint64_t getDefaultClientHandle() const { return 0; }
2526
virtual EuDebugInterfaceType getInterfaceType() const = 0;
2627
virtual ~EuDebugInterface() = default;
2728

shared/source/os_interface/linux/xe/eudebug/eudebug_interface_upstream.cpp

Lines changed: 31 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ uint32_t EuDebugInterfaceUpstream::getParamValue(EuDebugParam param) const {
3838
case EuDebugParam::eventTypeExecQueuePlacements:
3939
return 0;
4040
case EuDebugParam::eventTypeMetadata:
41-
return DRM_XE_EUDEBUG_EVENT_METADATA;
41+
return 0;
4242
case EuDebugParam::eventTypeOpen:
43-
return DRM_XE_EUDEBUG_EVENT_OPEN;
43+
return 0;
4444
case EuDebugParam::eventTypePagefault:
4545
return DRM_XE_EUDEBUG_EVENT_PAGEFAULT;
4646
case EuDebugParam::eventTypeRead:
@@ -50,9 +50,9 @@ uint32_t EuDebugInterfaceUpstream::getParamValue(EuDebugParam param) const {
5050
case EuDebugParam::eventTypeVmBind:
5151
return DRM_XE_EUDEBUG_EVENT_VM_BIND;
5252
case EuDebugParam::eventTypeVmBindOp:
53-
return DRM_XE_EUDEBUG_EVENT_VM_BIND_OP;
53+
return 0;
5454
case EuDebugParam::eventTypeVmBindOpMetadata:
55-
return DRM_XE_EUDEBUG_EVENT_VM_BIND_OP_METADATA;
55+
return 0;
5656
case EuDebugParam::eventTypeVmBindUfence:
5757
return DRM_XE_EUDEBUG_EVENT_VM_BIND_UFENCE;
5858
case EuDebugParam::eventVmBindFlagUfence:
@@ -70,25 +70,25 @@ uint32_t EuDebugInterfaceUpstream::getParamValue(EuDebugParam param) const {
7070
case EuDebugParam::ioctlReadEvent:
7171
return DRM_XE_EUDEBUG_IOCTL_READ_EVENT;
7272
case EuDebugParam::ioctlReadMetadata:
73-
return DRM_XE_EUDEBUG_IOCTL_READ_METADATA;
73+
return 0;
7474
case EuDebugParam::ioctlVmOpen:
7575
return DRM_XE_EUDEBUG_IOCTL_VM_OPEN;
7676
case EuDebugParam::metadataCreate:
77-
return DRM_IOCTL_XE_DEBUG_METADATA_CREATE;
77+
return 0;
7878
case EuDebugParam::metadataDestroy:
79-
return DRM_IOCTL_XE_DEBUG_METADATA_DESTROY;
79+
return 0;
8080
case EuDebugParam::metadataElfBinary:
81-
return DRM_XE_DEBUG_METADATA_ELF_BINARY;
81+
return 0;
8282
case EuDebugParam::metadataModuleArea:
83-
return WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_MODULE_AREA;
83+
return 0;
8484
case EuDebugParam::metadataProgramModule:
85-
return DRM_XE_DEBUG_METADATA_PROGRAM_MODULE;
85+
return 0;
8686
case EuDebugParam::metadataSbaArea:
87-
return WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_SBA_AREA;
87+
return 0;
8888
case EuDebugParam::metadataSipArea:
89-
return WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_SIP_AREA;
89+
return 0;
9090
case EuDebugParam::vmBindOpExtensionsAttachDebug:
91-
return XE_VM_BIND_OP_EXTENSIONS_ATTACH_DEBUG;
91+
return 0;
9292
}
9393
return 0;
9494
}
@@ -97,6 +97,10 @@ EuDebugInterfaceType EuDebugInterfaceUpstream::getInterfaceType() const {
9797
return EuDebugInterfaceType::upstream;
9898
}
9999

100+
uint64_t EuDebugInterfaceUpstream::getDefaultClientHandle() const {
101+
return defaultClientHandle;
102+
}
103+
100104
std::unique_ptr<EuDebugEventEuAttention, void (*)(EuDebugEventEuAttention *)> EuDebugInterfaceUpstream::toEuDebugEventEuAttention(const void *drmType) {
101105
const drm_xe_eudebug_event_eu_attention *event = static_cast<const drm_xe_eudebug_event_eu_attention *>(drmType);
102106
EuDebugEventEuAttention *pEuAttentionEvent = static_cast<EuDebugEventEuAttention *>(malloc(sizeof(EuDebugEventEuAttention) + event->bitmask_size * sizeof(uint8_t)));
@@ -112,7 +116,7 @@ std::unique_ptr<EuDebugEventEuAttention, void (*)(EuDebugEventEuAttention *)> Eu
112116
pEuAttentionEvent->flags = event->flags;
113117
pEuAttentionEvent->lrcHandle = event->lrc_handle;
114118
pEuAttentionEvent->execQueueHandle = event->exec_queue_handle;
115-
pEuAttentionEvent->clientHandle = event->client_handle;
119+
pEuAttentionEvent->clientHandle = defaultClientHandle;
116120

117121
auto deleter = [](EuDebugEventEuAttention *ptr) {
118122
free(ptr);
@@ -122,18 +126,8 @@ std::unique_ptr<EuDebugEventEuAttention, void (*)(EuDebugEventEuAttention *)> Eu
122126
}
123127

124128
EuDebugEventClient EuDebugInterfaceUpstream::toEuDebugEventClient(const void *drmType) {
125-
const drm_xe_eudebug_event_client *event = static_cast<const drm_xe_eudebug_event_client *>(drmType);
126-
EuDebugEventClient euClientEvent = {};
127-
128-
euClientEvent.base.len = event->base.len;
129-
euClientEvent.base.type = event->base.type;
130-
euClientEvent.base.flags = event->base.flags;
131-
euClientEvent.base.seqno = event->base.seqno;
132-
euClientEvent.base.reserved = event->base.reserved;
133-
134-
euClientEvent.clientHandle = event->client_handle;
135-
136-
return euClientEvent;
129+
UNRECOVERABLE_IF(true);
130+
return {};
137131
}
138132

139133
EuDebugEventVm EuDebugInterfaceUpstream::toEuDebugEventVm(const void *drmType) {
@@ -145,9 +139,8 @@ EuDebugEventVm EuDebugInterfaceUpstream::toEuDebugEventVm(const void *drmType) {
145139
euVmEvent.base.flags = event->base.flags;
146140
euVmEvent.base.seqno = event->base.seqno;
147141
euVmEvent.base.reserved = event->base.reserved;
148-
149-
euVmEvent.clientHandle = event->client_handle;
150142
euVmEvent.vmHandle = event->vm_handle;
143+
euVmEvent.clientHandle = defaultClientHandle;
151144

152145
return euVmEvent;
153146
}
@@ -166,7 +159,7 @@ std::unique_ptr<EuDebugEventExecQueue, void (*)(EuDebugEventExecQueue *)> EuDebu
166159
pExecQueueEvent->engineClass = event->engine_class;
167160
pExecQueueEvent->width = event->width;
168161
pExecQueueEvent->vmHandle = event->vm_handle;
169-
pExecQueueEvent->clientHandle = event->client_handle;
162+
pExecQueueEvent->clientHandle = defaultClientHandle;
170163
memcpy(pExecQueueEvent->lrcHandle, event->lrc_handle, event->width * sizeof(uint64_t));
171164

172165
auto deleter = [](EuDebugEventExecQueue *ptr) {
@@ -183,21 +176,9 @@ std::unique_ptr<EuDebugEventExecQueuePlacements, void (*)(EuDebugEventExecQueueP
183176
}
184177

185178
EuDebugEventMetadata EuDebugInterfaceUpstream::toEuDebugEventMetadata(const void *drmType) {
186-
const drm_xe_eudebug_event_metadata *event = static_cast<const drm_xe_eudebug_event_metadata *>(drmType);
187-
EuDebugEventMetadata metadataEvent = {};
188179

189-
metadataEvent.base.len = event->base.len;
190-
metadataEvent.base.type = event->base.type;
191-
metadataEvent.base.flags = event->base.flags;
192-
metadataEvent.base.seqno = event->base.seqno;
193-
metadataEvent.base.reserved = event->base.reserved;
194-
195-
metadataEvent.clientHandle = event->client_handle;
196-
metadataEvent.len = event->len;
197-
metadataEvent.metadataHandle = event->metadata_handle;
198-
metadataEvent.type = event->type;
199-
200-
return metadataEvent;
180+
UNRECOVERABLE_IF(true);
181+
return {};
201182
}
202183

203184
EuDebugEventVmBind EuDebugInterfaceUpstream::toEuDebugEventVmBind(const void *drmType) {
@@ -209,48 +190,24 @@ EuDebugEventVmBind EuDebugInterfaceUpstream::toEuDebugEventVmBind(const void *dr
209190
vmBindEvent.base.flags = event->base.flags;
210191
vmBindEvent.base.seqno = event->base.seqno;
211192
vmBindEvent.base.reserved = event->base.reserved;
212-
213-
vmBindEvent.clientHandle = event->client_handle;
214193
vmBindEvent.flags = event->flags;
215194
vmBindEvent.numBinds = event->num_binds;
216195
vmBindEvent.vmHandle = event->vm_handle;
196+
vmBindEvent.clientHandle = defaultClientHandle;
217197

218198
return vmBindEvent;
219199
}
220200

221201
NEO::EuDebugEventVmBindOp EuDebugInterfaceUpstream::toEuDebugEventVmBindOp(const void *drmType) {
222-
const drm_xe_eudebug_event_vm_bind_op *event = static_cast<const drm_xe_eudebug_event_vm_bind_op *>(drmType);
223-
EuDebugEventVmBindOp vmBindOpEvent = {};
224202

225-
vmBindOpEvent.base.len = event->base.len;
226-
vmBindOpEvent.base.type = event->base.type;
227-
vmBindOpEvent.base.flags = event->base.flags;
228-
vmBindOpEvent.base.seqno = event->base.seqno;
229-
vmBindOpEvent.base.reserved = event->base.reserved;
230-
231-
vmBindOpEvent.vmBindRefSeqno = event->vm_bind_ref_seqno;
232-
vmBindOpEvent.numExtensions = event->num_extensions;
233-
vmBindOpEvent.addr = event->addr;
234-
vmBindOpEvent.range = event->range;
235-
236-
return vmBindOpEvent;
203+
UNRECOVERABLE_IF(true);
204+
return {};
237205
}
238206

239207
EuDebugEventVmBindOpMetadata EuDebugInterfaceUpstream::toEuDebugEventVmBindOpMetadata(const void *drmType) {
240-
const drm_xe_eudebug_event_vm_bind_op_metadata *event = static_cast<const drm_xe_eudebug_event_vm_bind_op_metadata *>(drmType);
241-
EuDebugEventVmBindOpMetadata vmBindOpMetadataEvent = {};
242-
243-
vmBindOpMetadataEvent.base.len = event->base.len;
244-
vmBindOpMetadataEvent.base.type = event->base.type;
245-
vmBindOpMetadataEvent.base.flags = event->base.flags;
246-
vmBindOpMetadataEvent.base.seqno = event->base.seqno;
247-
vmBindOpMetadataEvent.base.reserved = event->base.reserved;
248208

249-
vmBindOpMetadataEvent.vmBindOpRefSeqno = event->vm_bind_op_ref_seqno;
250-
vmBindOpMetadataEvent.metadataHandle = event->metadata_handle;
251-
vmBindOpMetadataEvent.metadataCookie = event->metadata_cookie;
252-
253-
return vmBindOpMetadataEvent;
209+
UNRECOVERABLE_IF(true);
210+
return {};
254211
}
255212

256213
EuDebugEventVmBindUfence EuDebugInterfaceUpstream::toEuDebugEventVmBindUfence(const void *drmType) {
@@ -280,11 +237,11 @@ std::unique_ptr<EuDebugEventPageFault, void (*)(EuDebugEventPageFault *)> EuDebu
280237

281238
memcpy(pPageFaultEvent->bitmask, event->bitmask, event->bitmask_size * sizeof(uint8_t));
282239
pPageFaultEvent->bitmaskSize = event->bitmask_size;
283-
pPageFaultEvent->clientHandle = event->client_handle;
284240
pPageFaultEvent->flags = event->flags;
285241
pPageFaultEvent->execQueueHandle = event->exec_queue_handle;
286242
pPageFaultEvent->lrcHandle = event->lrc_handle;
287243
pPageFaultEvent->pagefaultAddress = event->pagefault_address;
244+
pPageFaultEvent->clientHandle = defaultClientHandle;
288245

289246
auto deleter = [](EuDebugEventPageFault *ptr) {
290247
free(ptr);
@@ -299,12 +256,12 @@ EuDebugEuControl EuDebugInterfaceUpstream::toEuDebugEuControl(const void *drmTyp
299256

300257
control.bitmaskPtr = euControl->bitmask_ptr;
301258
control.bitmaskSize = euControl->bitmask_size;
302-
control.clientHandle = euControl->client_handle;
303259
control.cmd = euControl->cmd;
304260
control.flags = euControl->flags;
305261
control.execQueueHandle = euControl->exec_queue_handle;
306262
control.lrcHandle = euControl->lrc_handle;
307263
control.seqno = euControl->seqno;
264+
control.clientHandle = defaultClientHandle;
308265

309266
return control;
310267
}
@@ -315,7 +272,6 @@ EuDebugConnect EuDebugInterfaceUpstream::toEuDebugConnect(const void *drmType) {
315272

316273
connectEvent.extensions = event->extensions;
317274
connectEvent.flags = event->flags;
318-
connectEvent.pid = event->pid;
319275
connectEvent.version = event->version;
320276

321277
return connectEvent;
@@ -325,7 +281,6 @@ std::unique_ptr<void, void (*)(void *)> EuDebugInterfaceUpstream::toDrmEuDebugCo
325281
struct drm_xe_eudebug_connect *pDrmConnect = new drm_xe_eudebug_connect();
326282

327283
pDrmConnect->extensions = connect.extensions;
328-
pDrmConnect->pid = connect.pid;
329284
pDrmConnect->flags = connect.flags;
330285
pDrmConnect->version = connect.version;
331286

@@ -340,7 +295,6 @@ std::unique_ptr<void, void (*)(void *)> EuDebugInterfaceUpstream::toDrmEuDebugEu
340295

341296
pDrmEuControl->bitmask_ptr = euControl.bitmaskPtr;
342297
pDrmEuControl->bitmask_size = euControl.bitmaskSize;
343-
pDrmEuControl->client_handle = euControl.clientHandle;
344298
pDrmEuControl->cmd = euControl.cmd;
345299
pDrmEuControl->flags = euControl.flags;
346300
pDrmEuControl->exec_queue_handle = euControl.execQueueHandle;
@@ -356,7 +310,6 @@ std::unique_ptr<void, void (*)(void *)> EuDebugInterfaceUpstream::toDrmEuDebugEu
356310
std::unique_ptr<void, void (*)(void *)> EuDebugInterfaceUpstream::toDrmEuDebugVmOpen(const EuDebugVmOpen &vmOpen) {
357311
struct drm_xe_eudebug_vm_open *pDrmVmOpen = new drm_xe_eudebug_vm_open();
358312

359-
pDrmVmOpen->client_handle = vmOpen.clientHandle;
360313
pDrmVmOpen->extensions = vmOpen.extensions;
361314
pDrmVmOpen->flags = vmOpen.flags;
362315
pDrmVmOpen->timeout_ns = vmOpen.timeoutNs;
@@ -387,35 +340,9 @@ static_assert(offsetof(EuDebugEvent, flags) == offsetof(drm_xe_eudebug_event, fl
387340
static_assert(offsetof(EuDebugEvent, seqno) == offsetof(drm_xe_eudebug_event, seqno));
388341
static_assert(offsetof(EuDebugEvent, reserved) == offsetof(drm_xe_eudebug_event, reserved));
389342

390-
static_assert(sizeof(EuDebugReadMetadata) == sizeof(drm_xe_eudebug_read_metadata));
391-
static_assert(offsetof(EuDebugReadMetadata, clientHandle) == offsetof(drm_xe_eudebug_read_metadata, client_handle));
392-
static_assert(offsetof(EuDebugReadMetadata, metadataHandle) == offsetof(drm_xe_eudebug_read_metadata, metadata_handle));
393-
static_assert(offsetof(EuDebugReadMetadata, flags) == offsetof(drm_xe_eudebug_read_metadata, flags));
394-
static_assert(offsetof(EuDebugReadMetadata, reserved) == offsetof(drm_xe_eudebug_read_metadata, reserved));
395-
static_assert(offsetof(EuDebugReadMetadata, ptr) == offsetof(drm_xe_eudebug_read_metadata, ptr));
396-
static_assert(offsetof(EuDebugReadMetadata, size) == offsetof(drm_xe_eudebug_read_metadata, size));
397-
398-
static_assert(sizeof(DebugMetadataCreate) == sizeof(drm_xe_debug_metadata_create));
399-
static_assert(offsetof(DebugMetadataCreate, extensions) == offsetof(drm_xe_debug_metadata_create, extensions));
400-
static_assert(offsetof(DebugMetadataCreate, type) == offsetof(drm_xe_debug_metadata_create, type));
401-
static_assert(offsetof(DebugMetadataCreate, userAddr) == offsetof(drm_xe_debug_metadata_create, user_addr));
402-
static_assert(offsetof(DebugMetadataCreate, len) == offsetof(drm_xe_debug_metadata_create, len));
403-
static_assert(offsetof(DebugMetadataCreate, metadataId) == offsetof(drm_xe_debug_metadata_create, metadata_id));
404-
405-
static_assert(sizeof(DebugMetadataDestroy) == sizeof(drm_xe_debug_metadata_destroy));
406-
static_assert(offsetof(DebugMetadataDestroy, extensions) == offsetof(drm_xe_debug_metadata_destroy, extensions));
407-
static_assert(offsetof(DebugMetadataDestroy, metadataId) == offsetof(drm_xe_debug_metadata_destroy, metadata_id));
408-
409343
static_assert(sizeof(XeUserExtension) == sizeof(drm_xe_user_extension));
410344
static_assert(offsetof(XeUserExtension, nextExtension) == offsetof(drm_xe_user_extension, next_extension));
411345
static_assert(offsetof(XeUserExtension, name) == offsetof(drm_xe_user_extension, name));
412346
static_assert(offsetof(XeUserExtension, pad) == offsetof(drm_xe_user_extension, pad));
413347

414-
static_assert(sizeof(VmBindOpExtAttachDebug) == sizeof(drm_xe_vm_bind_op_ext_attach_debug));
415-
static_assert(offsetof(VmBindOpExtAttachDebug, base) == offsetof(drm_xe_vm_bind_op_ext_attach_debug, base));
416-
static_assert(offsetof(VmBindOpExtAttachDebug, metadataId) == offsetof(drm_xe_vm_bind_op_ext_attach_debug, metadata_id));
417-
static_assert(offsetof(VmBindOpExtAttachDebug, flags) == offsetof(drm_xe_vm_bind_op_ext_attach_debug, flags));
418-
static_assert(offsetof(VmBindOpExtAttachDebug, cookie) == offsetof(drm_xe_vm_bind_op_ext_attach_debug, cookie));
419-
static_assert(offsetof(VmBindOpExtAttachDebug, reserved) == offsetof(drm_xe_vm_bind_op_ext_attach_debug, reserved));
420-
421348
} // namespace NEO

shared/source/os_interface/linux/xe/eudebug/eudebug_interface_upstream.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ namespace NEO {
1212
class EuDebugInterfaceUpstream : public EuDebugInterface {
1313
public:
1414
static constexpr const char *sysFsXeEuDebugFile = "/device/enable_eudebug";
15+
static constexpr uint64_t defaultClientHandle = 1;
1516

1617
uint32_t getParamValue(EuDebugParam param) const override;
1718
EuDebugInterfaceType getInterfaceType() const override;
19+
uint64_t getDefaultClientHandle() const override;
1820

1921
std::unique_ptr<EuDebugEventEuAttention, void (*)(EuDebugEventEuAttention *)> toEuDebugEventEuAttention(const void *drmType) override;
2022
EuDebugEventClient toEuDebugEventClient(const void *drmType) override;

0 commit comments

Comments
 (0)