Commit Graph

42 Commits

Author SHA1 Message Date
Mateusz Hoppe
e9a7c990ef L0Debug - log deviceBitfield for ISA event
- enhancement to logging

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-10-05 11:44:44 +02:00
Mateusz Hoppe
ec4d0dd0a6 L0Debug - ignore unknown VM BIND events - do not push to pending
Related-To: NEO-7366

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-30 13:31:30 +02:00
Matias Cabral
c012034c19 Debugger access to SLM
Resolves: NEO-5998

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2022-09-30 11:31:19 +02:00
Mateusz Hoppe
6811b1079f L0Debug - support for out of order debug events
Related-To: NEO-7366
- if VM BIND comes with VM that cannot be mapped to tile,
push the event to pending events and process next events
until context params event with comes
- when pending event is handled - remove it from queue

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-30 11:26:24 +02:00
Mateusz Hoppe
7e2e940d6e L0Debug - zebin modules support for mirrored isa heaps
- all tileInstanced ISAs must be received before sending
MODULE LOAD/UNLOAD events for zebin modules

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-28 10:53:51 +02:00
Mateusz Hoppe
7ff258fc92 L0Debug - Enable attaching to Root or Subdevices
- enable tile attach mode by default
- both root device and subdevice may be attached to

Related-To: NEO-7347

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-26 16:03:54 +02:00
Mateusz Hoppe
92893a5101 L0Debug - add support for mirrored isa heaps
- allow tileInstanced ISA while debugging

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-20 19:32:00 +02:00
Mateusz Hoppe
dd7967a05d L0Debug - account for device bitfield
- converting physical/api thread ids should account for
devicebitfield
- debug events for ISA filtered - skip events for not
relevant tiles

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-09 13:03:06 +02:00
Yates, Brandon
12c7f32679 L0 Win Debugger - implement thread control
Resolves: NEO-6722

Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-09-05 19:26:14 +02:00
Mateusz Hoppe
992e8e7c96 L0Debug - fix getISAVMHandle()
- use correct address form when searching Isa map

Resolves: NEO-7312

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-05 16:10:13 +02:00
Jitendra Sharma
3212a71760 Debugger L0 Win: Attention event handling from UMD
Related-To: NEO-7261

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2022-09-02 18:22:41 +02:00
Mateusz Hoppe
ee8af85341 L0Debug fixes for multi tile devices
- notify module allocation for (sub)device used to create module,
makeResident called within (sub)device contexts
- access ISA with vmHandle specific to device index

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-31 10:58:28 +02:00
Mateusz Hoppe
e6c0d2d1e8 L0Debug - store and restore events for tile session
- keep track of all loaded modules
- keep track of process entry/exit state
- restore valid events on attach
- acknowledge/clean events on detach

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-29 15:35:38 +02:00
Mateusz Hoppe
aa59ee94b2 L0Debug - close debug fd when DebugSession is destroyed
- after last tile DebugSession is detached, root DebugSession
must close fd

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-24 14:58:16 +02:00
Mateusz Hoppe
4bd53be195 L0Debug - tile attach - add missing implementation
- interrupt / resume
- read/write registers

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-24 07:32:29 +02:00
Mateusz Hoppe
61242205e0 L0Debug - tile attach implementation
- PROCESS ENTRY/EXIT events
- MODULE events
- DETACH event
- memory access

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-18 13:38:51 +02:00
Mateusz Hoppe
2a5bca380d L0Debug - tile debug session - initial changes
Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-16 10:44:12 +02:00
Mateusz Hoppe
bc605f413c L0Debug - split acking general events from isa events
- allow to pass deviceIndex when acking isa events,
used with per-tile isa

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-11 13:11:55 +02:00
Mateusz Hoppe
3a2d3b9274 L0Debug refactor - move eventsToAck out from ClientConnection
- events to ack are unrelated to client handle

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-09 19:52:17 +02:00
Mateusz Hoppe
869768a01a L0Debug refactor - make memory access steps clear and simple
- split isa, elf and default mem access to separate steps

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-09 18:04:38 +02:00
Mateusz Hoppe
52133e61ce L0Debug - per tile isa and modules in debug session
Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-08 15:46:56 +02:00
Kamil Kopryk
d4d54f5093 Cleanup includes
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-07-25 09:58:38 +02:00
Mateusz Hoppe
4da6f65d1a L0Debug - Notify cmdQueue create for subdevices
- PROCESS ENTRY triggered for first cmdQ created

Related-To: NEO-5784
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-22 16:08:41 +02:00
Compute-Runtime-Validation
5199ea257d Revert "L0Debug - Notify cmdQueue create for subdevices"
This reverts commit ebcb3faad2.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-07-21 18:50:20 +02:00
Mateusz Hoppe
20364ca1b5 L0Debug - refactor ISA and Elf access
- reorganize code to mke possible extracting to separate functions

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-21 13:02:38 +02:00
Mateusz Hoppe
ebcb3faad2 L0Debug - Notify cmdQueue create for subdevices
- PROCESS ENTRY triggered for first cmdQ created

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-20 15:13:06 +02:00
Mateusz Hoppe
023f9df999 L0Debug - move apiEvents queue to DebugSessionImp
- the logic of reading api events is OS agnostic

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-15 16:19:38 +02:00
Mateusz Hoppe
bd07b3ec97 L0Debug refactor: Replace ze_device_thread_t with EuThread::ThreadId
- ThreadId is preferred beacuse it uniquely identifies thread and is
not related to device topology

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-07-14 20:01:56 +02:00
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
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
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
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
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
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 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
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
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