Commit Graph

75 Commits

Author SHA1 Message Date
Mateusz Hoppe
ae0e701f6f L0Debug refactor - check single thread is stopped accessing regs
- enhance register access tests
- remove not used param from resume wa function

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-14 16:02:25 +02:00
Mateusz Hoppe
e8a9099bf2 Refactor register access functions
- use ThreadId instead of api ze_dvice_thread_t

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-13 18:55:27 +02:00
Mateusz Hoppe
d139d307f0 L0Debug - extract memory access params validation
- remove duplication of code by moving common code
to DebugSessionImp

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-13 16:45:37 +02:00
Mateusz Hoppe
ca4ecdfb06 L0Debug - map VM to tile based on context engines
- make ISAallocation aware of tileInstanced allocation

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-13 14:42:58 +02:00
Yates, Brandon
7ccde3fb20 L0 Win Debug - read StateSave and moduleDebug header
Related-to: NEO-7162
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-07-13 14:33:47 +02:00
Igor Venevtsev
9e0138f5a7 Debugger L0: expose FC register set
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-07-05 16:04:54 +02:00
Mateusz Jablonski
e88bad79a6 Dont pass drm to ioctl helper methods - use Ioctl Helper's member instead
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-30 11:11:12 +02:00
Mateusz Jablonski
b72fcad1be Drm: call ioctl using ioctl helper if possible
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-29 11:29:40 +02:00
Igor Venevtsev
7aa053199d Debugger L0: expose DBG register set
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-06-27 14:19:06 +02:00
Jitendra Sharma
c86c518bc4 L0 Debugger Win - read SBA tracking buffer address
MMIO will store SBA tracking buffer address for current context.
This change helps in extracting this address and use to read SBA virtual
register.

Related-To: NEO-6765

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2022-06-23 15:02:38 +02:00
Mateusz Hoppe
673bf3b553 Move DebuggerL0 to shared
Related-To: NEO-7075

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-06-23 10:05:45 +02:00
Yates, Brandon
60b88806d5 L0 Windows Debugger - Implement GPU mem read/write
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-06-23 09:28:47 +02:00
Igor Venevtsev
cb6db5672b Debugger L0 Win - register allocations metadata in debugger
Related-To: NEO-6764

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-06-22 17:22:15 +02:00
Compute-Runtime-Validation
c45ddab1c3 Revert "Move DebuggerL0 to shared"
This reverts commit 7eba4db2e7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-06-22 04:38:32 +02:00
Mateusz Hoppe
7eba4db2e7 Move DebuggerL0 to shared
Related-To: NEO-7075

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-06-21 17:10:46 +02:00
Yates, Brandon
20348b7185 Add override to ~DebugSessionWindows
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-06-16 16:34:39 +02:00
Yates, Brandon
481ac32fcf Windows L0 Debugger - Implement async events handling
Add event handlers for context and debug data

Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-06-15 17:48:24 +02:00
Mateusz Hoppe
31ebf37091 Fix potential stack corruption in DebugSessionImp
- allocate 64 bytes on stack when accessing registers

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-06-15 16:18:24 +02:00
Mateusz Hoppe
f7dc958163 Fix module load events
- report load address in canonical form

Related-To: NEO-6997

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-06-13 08:54:24 +02:00
Mateusz Hoppe
1e0f0efcf2 L0Debug - auto ack ISA VM BIND events when module created before attach
- Fix missing ACKs for VM BIND events when module was created
before debugger attaches

Related-To: NEO-6960

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-06-07 17:41:58 +02:00
Daniel Chabrowski
c303c218be Add missing pragma once in header files
Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-06-07 16:19:11 +02:00
Mateusz Hoppe
7e58789c02 L0Debug - move i915 KMD event reading to a dedicated thread
- reading events must not be blocked, for example by other ioctls
- by moving event reading to another thread, handling events is not
blocking event reading

Related-To: NEO-7019

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-06-02 21:09:29 +02:00
Mateusz Jablonski
2a4c68dc38 Remove not needed dependencies from device_imp.h
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-02 18:35:34 +02:00
Igor Venevtsev
dc2e1dfdb0 L0 Debugger Win - add initial event handling
Related-To: NEO-6723

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-05-31 13:27:06 +02:00
Mateusz Hoppe
05b5e33bb9 Refactor of DebugSession
- added ThreadHelper to handle closing thread
- renamed condition variable - to indicate API events use

Related-To: NEO-7019

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-05-30 15:22:30 +02:00
Igor Venevtsev
608a1d39bc L0 debugger Win - code cleanup
- remove unnecessary KmHeaders WA

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-05-30 12:13:42 +02:00
Igor Venevtsev
8c165a6f41 L0 Debugger Windows - implement debugger attach/detach
Related-To: NEO-6718

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-05-27 16:25:56 +02:00
Mateusz Jablonski
b3814e41b4 Create enum for Ioctl request values
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-27 13:22:59 +02:00
Daniel Chabrowski
6fd7ae7142 Cleanup headers
Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-05-26 17:55:44 +02:00
Mateusz Hoppe
771298c6e2 L0Debugger - add DEBUG_BREAK when readGpuMemory fails
- break in checkThreadIsResumed() when memory read fails
unexpectedly

Related-To: NEO-6763

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-05-18 11:02:19 +02:00
Compute-Runtime-Validation
daf7829fa2 Revert "L0 Debugger Windows - implement debugger attach/detach"
This reverts commit f45431c173.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-05-17 19:02:11 +02:00
Igor Venevtsev
f45431c173 L0 Debugger Windows - implement debugger attach/detach
Related-To: NEO-6718

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-05-17 14:07:29 +02:00
Artur Harasimiuk
819e0f5515 style: configure readability-identifier-naming.LocalVariableCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-16 12:39:44 +02:00
Mateusz Hoppe
d8b161e21e Fix zetDebugResume() within subslice
- single slice devices need subslice remapping
- convert api thread ids to physical ids within specific device index

Related-To: NEO-6950

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-05-15 15:35:50 +02:00
Mateusz Hoppe
c021e2ec5e L0 Debugger - DebugSession linux implementation
- new feature, enabled with PRELIM build
- implementation of debug session for linux
- move ResourceClass enum from Drm to drm_debug.h

Resolves: NEO-6814


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-05-11 15:30:32 +02:00
Krzysztof Gibala
2fcda0a528 Refactor: Change decanonize method accessing point
Accessing decanonize method as a member of GmmHelper class object

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-11 12:57:02 +02:00
Mateusz Hoppe
4896adc655 Fix order of reporting STOPPED THREAD events
- report stopped threads for interrupts after resuming
accidentally stopped threads
- unintended threads will not be available when event
for interrupt is reported

Resolves: NEO-6927

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-05-04 14:20:07 +02:00
Mateusz Hoppe
35a1a3fc2a Fix debug session thread conversion
- convertToPhysical must be called in polymorphic manner,
not on base DebugSession

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-04-28 18:59:34 +02:00
Igor Venevtsev
f4182e37ee Add debugger support - debug session implementation
Resolves: NEO-6813

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-04-27 17:53:48 +02:00
Mateusz Hoppe
933fbd4f63 Fix scratch offset calculation in DebugSession
- account for ThreadEuRatio when calculating per-thread
scratch offset

Related-To: NEO-6677

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-04-05 10:33:49 +02:00
Mateusz Hoppe
7a2c5e28c1 Add getLastCounter() to EuThread
Related-To: NEO-6447

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-25 17:14:01 +01:00
Mateusz Hoppe
35795357e9 DebugSession - add printBitmask()
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-11-15 21:40:27 +01:00
Zbigniew Zdanowicz
f90932cca7 Use references instead copy ctors
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-15 14:42:33 +01:00
Mateusz Hoppe
ee418efadf Per-thread scratch offset calculation
Related-To: NEO-6404

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-11-05 11:03:17 +01:00
Mateusz Hoppe
4d6a2d0a57 Enhance logs in EuThread
- do not overwrite memoryHandle in resumeThread() when thread is
not stopped
- add SIP Commands

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-11-03 11:04:14 +01:00
Mateusz Hoppe
2d8f037233 Mark EuThread methods with const
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-10-20 14:31:59 +02:00
Matias Cabral
8a17cf3141 Allow debugger read ISA and ELF with single thread
Resolves: NEO-6309

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2021-10-19 20:41:27 +02:00
Igor Venevtsev
da982b41be Add readSbaBuffer() interface
Related-To: NEO-6277

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-09-30 18:02:00 +02:00
Mateusz Hoppe
b0ec436b3e Fill devices from api thread
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-09-22 16:34:10 +02:00
Mateusz Hoppe
4d4433fa5f Fixes for MultiDevice fixture and DebugSession
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-09-20 17:27:46 +02:00