Commit Graph

287 Commits

Author SHA1 Message Date
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
Mateusz Jablonski
1963ea69e5 fix: add missing member initializations
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 08:41:46 +02:00
Brandon Yates
253e1df43b feature(debugger): Filter page fault threads by start IP
When a thread is stopped due to potential page fault
we must check AIP against start IP to ensure it is not
a newly started thread accidentally caught by PF algorithm

Related-to: NEO-8617

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-09-29 12:45:32 +02:00
Brandon Yates
9c56a11c2e refactor(debugger): Move PF exception check into bitmask
Related-to: NEO-8617
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-09-28 08:28:00 +02:00
Brandon Yates
b3464a2621 feature(debugger): Expose DBG regset
Related-To: NEO-8383

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-09-26 11:50:29 +02:00
Jitendra Sharma
8f7b3e6699 feature: Report 128 GRF count with zetDebugGetRegisterSetProperties
Related-to: NEO-6788

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-09-18 11:03:59 +02:00
Brandon Yates
7c1f5585d7 feature(debugger): online page fault event handling
Sync to
https://github.com/intel-gpu/drm-uapi-helper/releases/tag/v2.0-rc20

Related-to: LOCI-2052

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-09-18 00:15:45 +02:00
Brandon Yates
513045bd90 fix(debugger): auto-ack vmbind on tile for module from other tiles
Related-to: NEO-8371

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-09-14 15:33:58 +02:00
Compute-Runtime-Validation
e489c16529 Revert "feature: Report 128 GRF count with zetDebugGetRegisterSetProperties"
This reverts commit 6596ce5097.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-14 14:34:55 +02:00
Jitendra Sharma
6596ce5097 feature: Report 128 GRF count with zetDebugGetRegisterSetProperties
Related-to: NEO-6788

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-09-13 14:12:38 +02:00
Jitendra Sharma
9818ef61a5 feature: Report correct GRF register count
Based on Large GRF enabled or not, report correct GRF
register.

Related-To: NEO-6788
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-09-04 11:42:48 +02:00
Compute-Runtime-Validation
154530ad23 Revert "feature: Report correct GRF register count"
This reverts commit 8eb3fe222e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-01 15:12:57 +02:00
Jitendra Sharma
8eb3fe222e feature: Report correct GRF register count
Based on Large GRF enabled or not, report correct GRF
register.

Related-To: NEO-6788
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-08-31 18:48:29 +02:00
Compute-Runtime-Validation
e61c5af7ec Revert "feature(debugger): online page fault event handling"
This reverts commit 0c6444aab7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-24 08:16:45 +02:00
Brandon Yates
0c6444aab7 feature(debugger): online page fault event handling
Related-to: LOCI-2052

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-08-23 18:29:58 +02:00
Brandon Yates
9db08001c4 fix(debugger): Set flags for MME regset
Related-to: NEO-8286

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-08-23 16:38:35 +02:00
Mateusz Hoppe
8e07dd30cb performance(debugger): optimize ATT handling - minimize mem allocs
- do not allocate state save area every time attention event
is handled
- keep allocated memory for subsequent events
- remove not needed DBEUG_BREAK

Related-To: NEO-8183

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-18 08:37:04 +02:00
Mateusz Hoppe
9a53f20e6c performance(debugger): optimize ATT event handling
- check threads with attention state before reading SR_IDENT
- memory read is costly, for threads already in stopped state
there is no need to read sr_ident and check thread state again
- single stepping one thread performance is substantially improved,
by the factor of 6x

Related-To: NEO-8183

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-17 10:42:34 +02:00
Mateusz Hoppe
6205cca038 fix(debugger): require immediate binding for Module's allocations
- all bos from Module must have requireImmediateBinding
flag set
- this change fixes hang in debugger - where MODULE LOAD event
was not sent

Resolves: NEO-8121

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-06 17:34:22 +02:00
Brandon Yates
bef89a3a7c feature(debugger): Force GRF count to 128
System Routine changes for implementing large-grf debugging
will result in GRF count of 256 being reported for kernels
in all GRF modes. Applications using L0 Debug API do not
yet have a way to determine actual GRF count for kernel.

This commit is a temporary adjustment to avoid breaking debug
API users after new system routine is enabled.

This problem will be fully solved in follow up patch with switch to
zetDebugGetThreadRegisterSetProperties

Related-to: NEO-7370

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-06-27 14:24:52 +02:00