Commit Graph

282 Commits

Author SHA1 Message Date
Jemale Lockett
efeee0018f fix: Set debugger supported on arl
Resolves: NEO-12136

Signed-off-by: Jemale Lockett <jemale.lockett@intel.com>
2024-09-05 18:23:47 +02:00
Filip Hazubski
f87673e761 fix: Add missing check to DebugSessionImp::readFifo function
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-08-22 15:19:43 +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
Wenbin Lu
e2f1735cc5 test: use realistic values in topology query tests
Related-To: NEO-9489

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-07-29 16:34:22 +02:00
Mateusz Jablonski
85df385582 fix: ensure system info is queried before querying topology
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 16:03:59 +02:00
Mateusz Jablonski
0cdfa882eb fix: correct setting hw info in drm flow
firstly, setup hw info using product specific functions
secondly, query system info from GuC to setup max values
then, query memory info
then, query engine info as it depends on memory info
then, query topology as it depends on engine info

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 12:20:40 +02:00
Mateusz Jablonski
e24acc6155 fix: ensure memory info is queried before querying engine info
initialization of engine info relies on memory info data

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 09:28:50 +02:00
Wenbin Lu
357a607d22 refactor: correct the naming of some topology-related variables
Related-To: NEO-9489

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-07-24 08:39:12 +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
Maciej Bielski
005b273b1e test: stop abusing ctors in DrmMockCustom and derived types
Calling virtual functions from within constructors is incorrect, the
virtualization mechanism does not work until a constructor completes.
So, instead of performing many operations in constructors, make them
small and use static `create()` methods to construct the object properly
and only then perform additional setup.

Mocks are a prominent example how such practice degrades the code.
A function called from a constructor is basically unmockable. Despite
being overriden by derived type (to alter the execution path as per
needs of a given test-case) the parent versions are always called.

This was making test development more and more painful as at some point
there is no hack to compensate for the lack of standard mechanism.

Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-07-10 08:34:09 +02:00
Mateusz Jablonski
778645c11e feature: add initial support for Xe2 platforms
Related-To: NEO-8188, NEO-10774
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-09 10:30:27 +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
ab92499b56 feature: Add support for V3 state save header
Related-to: NEO-8396

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-06-27 18:46:03 +02:00
Mateusz Jablonski
66d4d141e1 fix: extract common logic for filling default gt system info
gt system info should be queried from KMD

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-25 20:21:57 +02:00
Filip Hazubski
0d61860af6 fix: Reset builtins pointer after its resources are freed
Add resetBuiltins helper function to MockRootDeviceEnvironment.
Update tests to use the new function whenever builtins unique pointer
is reset to ensure that sip kernels are properly freed.

Related-To: HSD-18038645398, HSD-18038819112

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-06-20 10:49:56 +02:00
Brandon Yates
cb6e63ed05 feature: Add elapsed time to debugger logs
Related-to: NEO-11469

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-06-07 01:14:14 +02:00
Mateusz Jablonski
55fad237b8 test: update gtest API usage
use *_TEST_SUITE* instead of *_TEST_CASE*

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-05-28 16:20:06 +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
Mateusz Jablonski
1f96e6e251 fix: update uapi headers version to 6.8.1
source of files: https://git.kernel.org/stable/h/v6.8.1

Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-26 16:08:32 +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
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
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
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
Brandon Yates
9636c2f0d5 fix: Avoid double free when freeing sip kernels
Reset sipKernels unique_ptr when freeing

Related-to: NEO-8402

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-01-25 08:45:45 +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