Commit Graph

256 Commits

Author SHA1 Message Date
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
Jemale Lockett
79f8993220 refactor: move GPR15 to separate debugger context
Signed-off-by: Jemale Lockett <jemale.lockett@intel.com>
2024-04-18 10:42:23 +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
Compute-Runtime-Validation
40cea2f6fe Revert "feature: Implement thread control and att event handling for xe"
This reverts commit fb73fad6d7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-02-23 05:00:21 +01:00
Jitendra Sharma
fb73fad6d7 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-22 15:24:35 +01:00
Brandon Yates
0f817d1db4 refactor: Move debugger IsaAllocation to common linux code
-replace i915 event with generic EventToAck type
-Move isamap to common Client Connection
-Move isa memory access functions to common linux imp

Related-to: NEO-9669

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-02-21 12:04:31 +01:00
Jitendra Sharma
f56babb2a9 refactor: Move common attention handling EuDebug code out of prelim
Move common attention handling code from prelim in common linux
debug_session(.h/.cpp) files.
This common code could be shared to handle attention events for
prelim and xe driver based Eu Debug

Related-To: NEO-9673
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-02-19 14:49:30 +01:00
Brandon Yates
0fb6f4bf3f refactor: make Debugger ClientConnection common for xe/i915
- Add base ClientConnection type and derived i915/xe types
- Add accessor function fo retreive ClientConnection
- Move getElfOffset to common linux code
- Add accessor functions for getElfSize and getElfData

Related-to: NEO-9669

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-02-15 11:27:10 +01:00
Brandon Yates
1e3d57b29a refactor: Move Debugger Mem Access to generic linux implementation
Related-to: NEO-9669

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-02-13 18:56:00 +01:00
Jitendra Sharma
ff604bda1b feature: Implement thread control for debugger in XE
Related-To: NEO-9668
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-02-12 19:46:28 +01:00
Brandon Yates
ea7ae7564f feature: Implement read/writeGpuMemory for Xe debugger
- makes prelim read/writeGpuMemory generic
- Implements Xe specific ioctls and fsyncs
- Refactors dbg IoctlHelper to use shared base class
for Xe and i915

Related-to: NEO-9668

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-02-08 22:09:59 +01:00
Jitendra Sharma
d69bb8ac15 refactor: Move common debugger methods out of prelim directory
Related-To: NEO-9668
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-02-06 12:45:58 +01:00
Jitendra Sharma
adef8fbc8d feature: Implement Process entry/exit event with xe
Related-To: NEO-9671

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-02-06 08:40:34 +01:00
Jitendra Sharma
e8ca729002 feature: Add support to handle DRM_XE_EUDEBUG_EVENT_VM event
Related-To: NEO-8407

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-01-24 15:57:32 +01:00
Jitendra Sharma
b34e8646ac feature: Implement Xe Eu debug Open and Exec Queue events
Related-To: NEO-8407

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-01-23 08:04:21 +01:00
Mateusz Jablonski
bf60d77e10 refactor: correct naming of enum class constants n/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-20 10:56:37 +01:00
Mateusz Jablonski
138fb65401 refactor: correct naming of enum class constants 11/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 14:52:57 +01:00
Brandon Yates
0c7ba17f1a feature(debugger): Implement attach for xe debugger
Related-to: NEO-8407

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-12-18 16:27:17 +01:00
Mateusz Jablonski
8c90350f3c refactor: correct naming of enum class constants 5/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 10:06:02 +01:00
Mateusz Jablonski
cff6c81be0 refactor: correct naming of DrmIoctl enums
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-12 10:02:19 +01:00
Mateusz Hoppe
eac3d2130d fix: correclty report pagefaults while single-stepping or resuming bp
- while resuming threads - after checking threads stopped immediately
check for FE bit, if set do not generate thread stop event
- if PageFault occured, report stop event based on pagefault event

Related-To: GSD-7316

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-12-11 14:53:49 +01:00
Mateusz Jablonski
c48e57e2de refactor: rename register offsets and constants
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 18:31:39 +01:00
Mateusz Jablonski
b92b5892b8 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-01 08:34:19 +01:00
Mateusz Jablonski
c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Mateusz Jablonski
36194c4e7d refactor: correct variable namings
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-29 23:49:03 +01:00
Brandon Yates
7f1167d5fe fix(debugger): Fix handling pf event with flat hierarchy
Related-to: GSD-6918

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-11-20 10:57:17 +01:00
Mateusz Jablonski
6d67198b4f fix: fix ubsan issues in L0
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-09 12:08:30 +01:00
Brandon Yates
fd48de3da9 feature(debugger): Add initial Xe debugger skeleton
sync xe_drm.h for debugger to 1d2144ed from
https://gitlab.freedesktop.org/miku/kernel/-/tree/eudebug-dev

Related-to: NEO-8402

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-11-07 17:36:18 +01:00
Brandon Yates
157d7a327a feature(debugger): Create DebugSessionLinux class
DebugSessionLinux is common base class for all linux dbgUMD
implementations. This patch also moves DrmHelper to common debug folder

Related-to: NEO-8404

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-10-24 21:22:44 +02:00
Jablonski, Mateusz
d724627098 fix: fix compilation error in clang on Windows (1/n)
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2023-10-23 10:36:23 +02:00
Brandon Yates
85d35d5239 feature(debugger): use linux driver type to create correct debug session imp
Related-to: NEO-8403

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-10-23 10:25:28 +02:00
Mateusz Jablonski
420f273a6c fix: don't wait on condition in unit tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-10 15:14:30 +02:00
Brandon Yates
3fbce47182 refactor(debugger): Rename DebugSessionLinux
Rename to DebugSessionLinuxi915 in preparation
for implementation of Xe debugger

Related-to: NEO-8404

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-10-09 10:12:47 +02:00
Mateusz Jablonski
95eb5df978 refactor: use reference in for-range loops
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-04 15:32:26 +02:00
Mateusz Jablonski
895a586083 refactor: use reference in for-range loops
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 18:56:53 +02:00