Skip to content

Commit e94c942

Browse files
Jaime ArteagaCompute-Runtime-Automation
authored andcommitted
Have Tools and Sysman Process Address Tables fail on mismatched versions
Signed-off-by: Jaime Arteaga <[email protected]>
1 parent 9dd5ae7 commit e94c942

File tree

4 files changed

+438
-60
lines changed

4 files changed

+438
-60
lines changed

level_zero/api/sysman/ze_sysman_loader.cpp

Lines changed: 52 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019-2020 Intel Corporation
2+
* Copyright (C) 2019-2021 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -25,8 +25,9 @@ zesGetDeviceProcAddrTable(
2525
zes_device_dditable_t *pDdiTable) {
2626
if (nullptr == pDdiTable)
2727
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
28-
if (driver_ddiTable.version < version)
29-
return ZE_RESULT_ERROR_UNKNOWN;
28+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
29+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
30+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
3031
ze_result_t result = ZE_RESULT_SUCCESS;
3132

3233
NEO::EnvironmentVariableReader envReader;
@@ -70,8 +71,9 @@ zesGetDriverProcAddrTable(
7071
zes_driver_dditable_t *pDdiTable) {
7172
if (nullptr == pDdiTable)
7273
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
73-
if (driver_ddiTable.version < version)
74-
return ZE_RESULT_ERROR_UNKNOWN;
74+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
75+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
76+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
7577
ze_result_t result = ZE_RESULT_SUCCESS;
7678

7779
NEO::EnvironmentVariableReader envReader;
@@ -92,8 +94,9 @@ zesGetDiagnosticsProcAddrTable(
9294
zes_diagnostics_dditable_t *pDdiTable) {
9395
if (nullptr == pDdiTable)
9496
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
95-
if (driver_ddiTable.version < version)
96-
return ZE_RESULT_ERROR_UNKNOWN;
97+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
98+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
99+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
97100
ze_result_t result = ZE_RESULT_SUCCESS;
98101

99102
NEO::EnvironmentVariableReader envReader;
@@ -117,8 +120,9 @@ zesGetEngineProcAddrTable(
117120
zes_engine_dditable_t *pDdiTable) {
118121
if (nullptr == pDdiTable)
119122
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
120-
if (driver_ddiTable.version < version)
121-
return ZE_RESULT_ERROR_UNKNOWN;
123+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
124+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
125+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
122126

123127
ze_result_t result = ZE_RESULT_SUCCESS;
124128

@@ -142,8 +146,9 @@ zesGetFabricPortProcAddrTable(
142146
zes_fabric_port_dditable_t *pDdiTable) {
143147
if (nullptr == pDdiTable)
144148
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
145-
if (driver_ddiTable.version < version)
146-
return ZE_RESULT_ERROR_UNKNOWN;
149+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
150+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
151+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
147152
ze_result_t result = ZE_RESULT_SUCCESS;
148153

149154
NEO::EnvironmentVariableReader envReader;
@@ -170,8 +175,9 @@ zesGetFanProcAddrTable(
170175
zes_fan_dditable_t *pDdiTable) {
171176
if (nullptr == pDdiTable)
172177
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
173-
if (driver_ddiTable.version < version)
174-
return ZE_RESULT_ERROR_UNKNOWN;
178+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
179+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
180+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
175181
ze_result_t result = ZE_RESULT_SUCCESS;
176182

177183
NEO::EnvironmentVariableReader envReader;
@@ -198,8 +204,9 @@ zesGetFirmwareProcAddrTable(
198204
zes_firmware_dditable_t *pDdiTable) {
199205
if (nullptr == pDdiTable)
200206
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
201-
if (driver_ddiTable.version < version)
202-
return ZE_RESULT_ERROR_UNKNOWN;
207+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
208+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
209+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
203210
ze_result_t result = ZE_RESULT_SUCCESS;
204211

205212
NEO::EnvironmentVariableReader envReader;
@@ -222,8 +229,9 @@ zesGetFrequencyProcAddrTable(
222229
zes_frequency_dditable_t *pDdiTable) {
223230
if (nullptr == pDdiTable)
224231
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
225-
if (driver_ddiTable.version < version)
226-
return ZE_RESULT_ERROR_UNKNOWN;
232+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
233+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
234+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
227235

228236
ze_result_t result = ZE_RESULT_SUCCESS;
229237

@@ -262,8 +270,9 @@ zesGetLedProcAddrTable(
262270
zes_led_dditable_t *pDdiTable) {
263271
if (nullptr == pDdiTable)
264272
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
265-
if (driver_ddiTable.version < version)
266-
return ZE_RESULT_ERROR_UNKNOWN;
273+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
274+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
275+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
267276
ze_result_t result = ZE_RESULT_SUCCESS;
268277

269278
NEO::EnvironmentVariableReader envReader;
@@ -288,8 +297,9 @@ zesGetMemoryProcAddrTable(
288297
zes_memory_dditable_t *pDdiTable) {
289298
if (nullptr == pDdiTable)
290299
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
291-
if (driver_ddiTable.version < version)
292-
return ZE_RESULT_ERROR_UNKNOWN;
300+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
301+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
302+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
293303
ze_result_t result = ZE_RESULT_SUCCESS;
294304

295305
NEO::EnvironmentVariableReader envReader;
@@ -313,8 +323,9 @@ zesGetPerformanceFactorProcAddrTable(
313323
zes_performance_factor_dditable_t *pDdiTable) {
314324
if (nullptr == pDdiTable)
315325
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
316-
if (driver_ddiTable.version < version)
317-
return ZE_RESULT_ERROR_UNKNOWN;
326+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
327+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
328+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
318329
ze_result_t result = ZE_RESULT_SUCCESS;
319330

320331
NEO::EnvironmentVariableReader envReader;
@@ -338,8 +349,9 @@ zesGetPowerProcAddrTable(
338349
zes_power_dditable_t *pDdiTable) {
339350
if (nullptr == pDdiTable)
340351
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
341-
if (driver_ddiTable.version < version)
342-
return ZE_RESULT_ERROR_UNKNOWN;
352+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
353+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
354+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
343355
ze_result_t result = ZE_RESULT_SUCCESS;
344356

345357
NEO::EnvironmentVariableReader envReader;
@@ -366,8 +378,9 @@ zesGetPsuProcAddrTable(
366378
zes_psu_dditable_t *pDdiTable) {
367379
if (nullptr == pDdiTable)
368380
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
369-
if (driver_ddiTable.version < version)
370-
return ZE_RESULT_ERROR_UNKNOWN;
381+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
382+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
383+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
371384
ze_result_t result = ZE_RESULT_SUCCESS;
372385

373386
NEO::EnvironmentVariableReader envReader;
@@ -390,8 +403,9 @@ zesGetRasProcAddrTable(
390403
zes_ras_dditable_t *pDdiTable) {
391404
if (nullptr == pDdiTable)
392405
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
393-
if (driver_ddiTable.version < version)
394-
return ZE_RESULT_ERROR_UNKNOWN;
406+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
407+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
408+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
395409
ze_result_t result = ZE_RESULT_SUCCESS;
396410

397411
NEO::EnvironmentVariableReader envReader;
@@ -416,8 +430,9 @@ zesGetSchedulerProcAddrTable(
416430
zes_scheduler_dditable_t *pDdiTable) {
417431
if (nullptr == pDdiTable)
418432
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
419-
if (driver_ddiTable.version < version)
420-
return ZE_RESULT_ERROR_UNKNOWN;
433+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
434+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
435+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
421436
ze_result_t result = ZE_RESULT_SUCCESS;
422437

423438
NEO::EnvironmentVariableReader envReader;
@@ -446,8 +461,9 @@ zesGetStandbyProcAddrTable(
446461
zes_standby_dditable_t *pDdiTable) {
447462
if (nullptr == pDdiTable)
448463
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
449-
if (driver_ddiTable.version < version)
450-
return ZE_RESULT_ERROR_UNKNOWN;
464+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
465+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
466+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
451467
ze_result_t result = ZE_RESULT_SUCCESS;
452468

453469
NEO::EnvironmentVariableReader envReader;
@@ -471,8 +487,9 @@ zesGetTemperatureProcAddrTable(
471487
zes_temperature_dditable_t *pDdiTable) {
472488
if (nullptr == pDdiTable)
473489
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
474-
if (driver_ddiTable.version < version)
475-
return ZE_RESULT_ERROR_UNKNOWN;
490+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
491+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
492+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
476493
ze_result_t result = ZE_RESULT_SUCCESS;
477494

478495
NEO::EnvironmentVariableReader envReader;

level_zero/api/tools/ze_tools_loader.cpp

Lines changed: 37 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019-2020 Intel Corporation
2+
* Copyright (C) 2019-2021 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -24,8 +24,9 @@ zetGetContextProcAddrTable(
2424
ze_result_t result = ZE_RESULT_SUCCESS;
2525
if (nullptr == pDdiTable)
2626
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
27-
if (driver_ddiTable.version < version)
28-
return ZE_RESULT_ERROR_UNKNOWN;
27+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
28+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
29+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
2930
pDdiTable->pfnActivateMetricGroups = zetContextActivateMetricGroups;
3031
return result;
3132
}
@@ -36,8 +37,9 @@ zetGetMetricStreamerProcAddrTable(
3637
zet_metric_streamer_dditable_t *pDdiTable) {
3738
if (nullptr == pDdiTable)
3839
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
39-
if (driver_ddiTable.version < version)
40-
return ZE_RESULT_ERROR_UNKNOWN;
40+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
41+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
42+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
4143
ze_result_t result = ZE_RESULT_SUCCESS;
4244

4345
pDdiTable->pfnOpen = zetMetricStreamerOpen;
@@ -53,8 +55,9 @@ zetGetTracerExpProcAddrTable(
5355
zet_tracer_exp_dditable_t *pDdiTable) {
5456
if (nullptr == pDdiTable)
5557
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
56-
if (driver_ddiTable.version < version)
57-
return ZE_RESULT_ERROR_UNKNOWN;
58+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
59+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
60+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
5861
ze_result_t result = ZE_RESULT_SUCCESS;
5962
pDdiTable->pfnCreate = zetTracerExpCreate;
6063
pDdiTable->pfnDestroy = zetTracerExpDestroy;
@@ -70,8 +73,9 @@ zetGetCommandListProcAddrTable(
7073
zet_command_list_dditable_t *pDdiTable) {
7174
if (nullptr == pDdiTable)
7275
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
73-
if (driver_ddiTable.version < version)
74-
return ZE_RESULT_ERROR_UNKNOWN;
76+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
77+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
78+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
7579
ze_result_t result = ZE_RESULT_SUCCESS;
7680
pDdiTable->pfnAppendMetricStreamerMarker = zetCommandListAppendMetricStreamerMarker;
7781
pDdiTable->pfnAppendMetricQueryBegin = zetCommandListAppendMetricQueryBegin;
@@ -86,8 +90,9 @@ zetGetModuleProcAddrTable(
8690
zet_module_dditable_t *pDdiTable) {
8791
if (nullptr == pDdiTable)
8892
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
89-
if (driver_ddiTable.version < version)
90-
return ZE_RESULT_ERROR_UNKNOWN;
93+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
94+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
95+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
9196
ze_result_t result = ZE_RESULT_SUCCESS;
9297
pDdiTable->pfnGetDebugInfo = zetModuleGetDebugInfo;
9398
return result;
@@ -99,8 +104,9 @@ zetGetKernelProcAddrTable(
99104
zet_kernel_dditable_t *pDdiTable) {
100105
if (nullptr == pDdiTable)
101106
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
102-
if (driver_ddiTable.version < version)
103-
return ZE_RESULT_ERROR_UNKNOWN;
107+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
108+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
109+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
104110
ze_result_t result = ZE_RESULT_SUCCESS;
105111
pDdiTable->pfnGetProfileInfo = zetKernelGetProfileInfo;
106112
return result;
@@ -112,8 +118,9 @@ zetGetMetricGroupProcAddrTable(
112118
zet_metric_group_dditable_t *pDdiTable) {
113119
if (nullptr == pDdiTable)
114120
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
115-
if (driver_ddiTable.version < version)
116-
return ZE_RESULT_ERROR_UNKNOWN;
121+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
122+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
123+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
117124
ze_result_t result = ZE_RESULT_SUCCESS;
118125
pDdiTable->pfnGet = zetMetricGroupGet;
119126
pDdiTable->pfnGetProperties = zetMetricGroupGetProperties;
@@ -127,8 +134,9 @@ zetGetMetricProcAddrTable(
127134
zet_metric_dditable_t *pDdiTable) {
128135
if (nullptr == pDdiTable)
129136
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
130-
if (driver_ddiTable.version < version)
131-
return ZE_RESULT_ERROR_UNKNOWN;
137+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
138+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
139+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
132140

133141
ze_result_t result = ZE_RESULT_SUCCESS;
134142
pDdiTable->pfnGet = zetMetricGet;
@@ -142,8 +150,9 @@ zetGetMetricQueryPoolProcAddrTable(
142150
zet_metric_query_pool_dditable_t *pDdiTable) {
143151
if (nullptr == pDdiTable)
144152
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
145-
if (driver_ddiTable.version < version)
146-
return ZE_RESULT_ERROR_UNKNOWN;
153+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
154+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
155+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
147156
ze_result_t result = ZE_RESULT_SUCCESS;
148157
pDdiTable->pfnCreate = zetMetricQueryPoolCreate;
149158
pDdiTable->pfnDestroy = zetMetricQueryPoolDestroy;
@@ -156,8 +165,9 @@ zetGetMetricQueryProcAddrTable(
156165
zet_metric_query_dditable_t *pDdiTable) {
157166
if (nullptr == pDdiTable)
158167
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
159-
if (driver_ddiTable.version < version)
160-
return ZE_RESULT_ERROR_UNKNOWN;
168+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
169+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
170+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
161171

162172
ze_result_t result = ZE_RESULT_SUCCESS;
163173
pDdiTable->pfnCreate = zetMetricQueryCreate;
@@ -173,8 +183,9 @@ zetGetDeviceProcAddrTable(
173183
zet_device_dditable_t *pDdiTable) {
174184
if (nullptr == pDdiTable)
175185
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
176-
if (driver_ddiTable.version < version)
177-
return ZE_RESULT_ERROR_UNKNOWN;
186+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
187+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
188+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
178189

179190
ze_result_t result = ZE_RESULT_SUCCESS;
180191
pDdiTable->pfnGetDebugProperties = zetDeviceGetDebugProperties;
@@ -187,8 +198,9 @@ zetGetDebugProcAddrTable(
187198
zet_debug_dditable_t *pDdiTable) {
188199
if (nullptr == pDdiTable)
189200
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
190-
if (driver_ddiTable.version < version)
191-
return ZE_RESULT_ERROR_UNKNOWN;
201+
if (ZE_MAJOR_VERSION(driver_ddiTable.version) != ZE_MAJOR_VERSION(version) ||
202+
ZE_MINOR_VERSION(driver_ddiTable.version) > ZE_MINOR_VERSION(version))
203+
return ZE_RESULT_ERROR_UNSUPPORTED_VERSION;
192204

193205
ze_result_t result = ZE_RESULT_SUCCESS;
194206
pDdiTable->pfnAttach = zetDebugAttach;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#
2+
# Copyright (C) 2021 Intel Corporation
3+
#
4+
# SPDX-License-Identifier: MIT
5+
#
6+
7+
target_sources(${TARGET_NAME} PRIVATE
8+
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
9+
${CMAKE_CURRENT_SOURCE_DIR}/test_loader.cpp
10+
)

0 commit comments

Comments
 (0)