Commit Graph

162 Commits

Author SHA1 Message Date
Katarzyna Cencelewska
b2f8da5109 fix: return pointer instead of reference from getOsInterface
on tbx this will be a nullpointer

Related-To: HSD-18040897834
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2025-01-21 12:52:39 +01:00
Jitendra Sharma
8f5a0995e0 fix: Dont directly use gtId as TileId
gtId is not same as tileId. instead use gtIdToTileId
to retrieve tileId based on gtId.

Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-01-20 10:23:53 +01:00
Jitendra Sharma
06ea5944bd fix: Retrieve tileIndex using gt_id
Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-01-16 17:45:03 +01:00
Jitendra Sharma
cf8551ca06 fix: Dont process vmBind if clientHandle is Invalid
Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-01-14 20:42:41 +01:00
Brandon Yates
16b0ea6897 feature: Handle page fault events for xe debugger
Related-to: NEO-10134

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-01-14 18:16:05 +01:00
Jitendra Sharma
10753387bf feature: Introduce processPendingVmBindEvents in eu debug
Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-01-08 08:53:11 +01:00
Jitendra Sharma
0d2ce79194 feature: Ensure module load/unload triggered after all instances events
Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-01-07 19:58:35 +01:00
Bartosz Dunajski
47f74b8a7b refactor: reorganize l0 api include directories [1/n]
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-12-20 12:59:08 +01:00
Jitendra Sharma
0248b53d86 feature: Retrieve vmToTile map information for multi tile eudebug support
Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-12-18 11:59:49 +01:00
Mateusz Jablonski
86ecbf3507 fix: explicitly report unhandled event exec queue placements
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-16 13:11:39 +01:00
Mateusz Jablonski
8f7bacdd95 feature: add eudebug interface class
eudebug interface is now hidden under EuDebugInterface class
shared code uses generic object and param values

layout of structs is guarded by static asserts

eudebug support is guarded by cmake flags:
- NEO_ENABLE_XE_EU_DEBUG_SUPPORT - enables eudebug in general
- NEO_USE_XE_EU_DEBUG_EXP_UPSTREAM - registers exp upstream uAPI support
- NEO_ENABLE_XE_PRELIM_DETECTION - registers prelim uAPI support

This way we can support two different xe-eudebug interfaces within
single binary.

In unit tests there is mock eudebug interface enabled (even if no
eudebug support is enabled by cmake flag).

Related-To: NEO-13472
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-13 17:07:12 +01:00
Jemale Lockett
0426603896 fix: Add module debug area to isamap and mirror for xe
Resolves: NEO-12685

Signed-off-by: Jemale Lockett <jemale.lockett@intel.com>
2024-11-22 21:04:13 +01:00
Jemale Lockett
ef8fefec28 fix: correct check for interrupt sent in tile debug sessions
Resolves: NEO-12222
Signed-off-by: Jemale Lockett <jemale.lockett@intel.com>
2024-11-20 23:48:10 +01:00
Brandon Yates
aaf2e997d3 fix: Set xe debugger clientHandle when metadata is rx'd
Xe debugger will receive one CLIENT_OPEN event per driver open. In
some use cases their will be multiple opens. We are only interested in
the open from the UMD under debug. Setting clientHandle when metadata is
received will filter out unneeded CLIENT_OPEN events

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-11-05 13:44:59 +01:00
Jitendra Sharma
171f1e27a3 fix: Add debug variables for configurable timeouts in debugger
Related-To: NEO-13046
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-10-23 10:30:03 +02:00
Jitendra Sharma
26709ba124 fix: Implement polling of SW FIFO
Related-To: NEO-12955
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-10-21 07:19:42 +02:00
Brandon Yates
6de2f1a9c9 fix: Remove stopped Threads query
Related-to: NEO-12929

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-10-15 23:23:11 +02:00
Mateusz Jablonski
8fbe873e1b build: correct setting for i915/xe prelim setting in package scripts
rename i915 flag to uppercase, for consistency
disable i915 / xe prelim by default in package scripts

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-09 15:55:59 +02:00
Brandon Yates
be295ef9a0 fix: Fix debugger module load before eventsToAck updated
This fixes an uncommon race condition in processing vmBinds in debugger
where occasionally a VMBind may go unacked.

Related-to: NEO-12866

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-10-04 10:21:12 +02:00
Brandon Yates
9e03c52e71 refactor: Make page fault event handling generic for xe/i915
Related-to: NEO-10134

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-10-01 09:52:39 +02:00
Jitendra Sharma
ac52a2ff5b feature: Before resuming the thread unlock them
Related-To: NEO-7988
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-09-21 09:25:12 +02:00
Jemale Lockett
f14af782b3 fix: Correct mirroring module debug area
Resolves: NEO-11883

Signed-off-by: Jemale Lockett <jemale.lockett@intel.com>
2024-09-16 12:31:23 +02:00
Mateusz Jablonski
7ac41615cd fix: create thread with function pointer
don't create async thread in neo shared tests

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-21 18:02:37 +02:00
Jitendra Sharma
6df6e4bbb0 feature: Add SW FIFO implementation
Related-To: NEO-7990
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-08-19 16:38:34 +02:00
Brandon Yates
63478808a7 feature: implement new registers for debugger
Related-to: NEO-8396

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-07-15 09:44:46 +02:00
Brandon Yates
a432bdecc1 refactor: Reorganize xe debugger includes
Related-to: NEO-11365

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-07-02 12:28:11 +02:00
Brandon Yates
e01d34741d refactor(debugger): Locally allocate euControl variable in thread ctrl
Avoids possible unique_ptr memory escape after free

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-05-20 11:38:52 +02:00
Brandon Yates
7dfdbc33eb fix(debugger): Send pf event to correct tile session
Related-to: GSD-9128

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-05-17 15:29:55 +02:00
Brandon Yates
a0cb7b0a14 fix(debugger): Add page fault address to L0 PF event
Related-to: GSD-9110

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-05-15 18:20:43 +02:00
Brandon Yates
80a5d6255e feature(debugger): Discard stale ATT events
Related-to: NEO-10922

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-05-15 15:46:26 +02:00
Jitendra Sharma
8a60257aac fix: Implement debug area read in Xe by reusing I915 logic
Related-To: NEO-11197
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-05-07 20:19:20 +02:00
Jitendra Sharma
06935f87d7 fix: Eudebug: read one event for each poll in internal event thread
Related-To: NEO-11188
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-04-30 19:55:31 +02:00
Brandon Yates
946b8b8c4b fix(debugger): Dont use thread to get lrc handle for STOPPED command
Related-to: NEO-11250

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-04-30 18:08:13 +02:00
Brandon Yates
b2a382c4bc fix: set debugger client handle at vm open event (xe)
Related-to: NEO-10922

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-04-29 14:56:14 +02:00
Jitendra Sharma
c5a76cac3a fix: Reduce code duplicity by reusing closeConnection
Related-To: NEO-11188
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-04-23 08:34:04 +02:00
Brandon Yates
1db2bd82c1 fix: Fix vm unbind processing in dbgUMD (Xe)
Related-to: NEO-8407

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-04-18 13:29:21 +02:00
Jitendra Sharma
19130dda29 fix: modify vmBind event handling conditions
handleVmBind only if all the num_binds and num_extension events
and UFENCE events have arrived.

Related-To: NEO-11083
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-04-09 09:38:24 +02:00
Jitendra Sharma
27c3a4753d fix: Add missing methods in asyncThreadFunction
Add generateEventsAndResumeStoppedThreads() and sendInterrupts()
in asyncThreadFunction().

Related-To: NEO-11014
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-04-02 14:48:17 +02:00
Jitendra Sharma
8ef6cdbabd fix: Send module_load event after processing all events in vm_bind
Related-To: NEO-8407
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-04-02 11:17:58 +02:00
Jitendra Sharma
96abe38c6d feature: Implement getElfSize and getElfData methods for XE eudebug
Related-To: NEO-8407
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-03-28 12:32:18 +01:00
Jitendra Sharma
f0bdd5765b refactor: share acknowledgeEvent code for I915 and XE
Also remove not needed resumeImp and interruptImp methods
from level_zero/tools/source/debug/linux/xe/debug_session.h
The correct implementation is in DebugSessionLinux and
the overrides in DebugSessionLinuxXe are not needed

Related-To: NEO-8407
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-03-22 18:45:58 +01:00
Jitendra Sharma
b8c27ddb20 feature: Implement VM_BIND EU debug event for XE
Related-To: NEO-8407
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-03-22 15:02:49 +01:00
Brandon Yates
df54d67f40 feature: Implement SBA and module debug access for xe debugger
Reuse code from i915 implementation for accesing SBA, module debug,
and context save area

Related-to: NEO-9161

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-03-22 10:50:02 +01:00
Brandon Yates
7f8bac7703 fix: Remove Xe Debug stubs for read/writeMemory
The correct implementation is in DebugSessionLinux and
the overrides in DebugSessionLinuxXe are not needed

Related-to: NEO-9669

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-03-20 08:43:28 +01:00
Mateusz Jablonski
a2742492ab feature: enable xe drm detection by default
driver is built with xe drm support by default

added cmake flag to control xe eu debug API support
NEO_ENABLE_XE_EU_DEBUG_SUPPORT

This flag is disabled by default and uapi-eu-debug headers are not
needed for driver compilation as these headers are not a part of
upstream kernel yet.

Related-To: NEO-10780

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-19 08:47:13 +01:00
Mateusz Jablonski
19dcc80e44 Revert "build: enable xe drm detection by default"
This reverts commit 973757a58d.

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-18 09:04:59 +01:00
Mateusz Jablonski
973757a58d build: enable xe drm detection by default
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-11 14:29:20 +01:00
Jitendra Sharma
e1e1c0d046 feature: Implement metadata create event handling in XE
Related-To: NEO-8407
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-03-07 14:26:48 +01:00
Jitendra Sharma
5c4be8df54 fix: Ensure after EU_CONTROL IOCTL, bitmask ptr is not null
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-02-26 10:07:09 +01:00
Jitendra Sharma
2c10f5639e feature: Implement thread control and att event handling for xe
Related-To: NEO-9673
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-02-23 16:15:59 +01:00