Commit Graph

36 Commits

Author SHA1 Message Date
Brandon Yates 713f166d17 feature(debugger): Implement zetDebugGetThreadRegisterSetProperties (1/n)
Current SIP implementation has constant reg descs for all threads.
Initial implementation of this API always returns same reg descs as the
non-thread version of API. When SIP exposes per-thread reg descs,
this API will be updated to expose them.

Related-to: NEO-7370
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-05-08 14:46:48 +02:00
Igor Venevtsev 271a50d48e L0Debug Win: Fix process hang on exit in L0 debugger tests
Some L0 debug CTSs intentionnally written to exit w/o proper
resource clenup, f.e do not call zetDebugDetach() etc.
On windows it could be the situation when cleanup of DebugSession is
called in context of DllMain(DLL_PROCESS_DETACH).
At this point all threads other then main already terminated by Windows,
see remarks for DLL_PROCESS_DETACH in
https://learn.microsoft.com/en-us/windows/win32/dlls/dllmain
In this case worker thread object still exists, handle and Id are not
null but corresponding Windows thread does not exist any more and
application waits forever for threadFinished variable. We can safely
omit this waiting since join() will either return immediately in case of
thread was killed by Windows or wait until thread is terminated in normal way.

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-11-18 17:34:11 +01:00
Mateusz Hoppe 6f710bfad7 L0Debug - disallow attaching to multiple pids
Resolves: NEO-7476

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-03 19:21:53 +01:00
Yates, Brandon 44894c1fdf L0 Debug- Create generic topologyMap interface
Move Linux DebugSession thread conversion functions up to
DebugSessionImp to allow reuse in windows implementation

Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-10-13 15:12:05 +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 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 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 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 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
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 35795357e9 DebugSession - add printBitmask()
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-11-15 21:40:27 +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
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 a27b839976 Refactor getSingleThreads()
- return ThreadIds for chosen device index from ze_device_thread_t

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-09-13 14:36:35 +02:00
Igor Venevtsev d49d294ba9 Add DebugSession::areRequestedThreadsStopped() helper
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-08-16 21:01:33 +02:00
Mateusz Hoppe 51967a4f67 Refactor DebugSession
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-08-02 09:19:02 +02:00
Mateusz Hoppe 89144e494d Add DebugSession helper methods
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-07-29 13:21:23 +02:00
Mateusz Hoppe c96c1b045a Pass info about system routine in module debug area
Resolves: NEO-6097

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-07-27 08:08:39 +02:00
Mateusz Hoppe ad5735c60b Add EuThread class
- add thread map to RootDebugSession


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-07-26 10:29:46 +02:00
Igor Venevtsev 0c8757c655 Make DebugSession::getRegisterSetProperties static
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-06-25 16:40:49 +02:00
Igor Venevtsev e0a50d3143 Rename L0::DebugSession::getRegisterSetPropertiesExp->getRegisterSetProperties
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-06-24 16:44:19 +02:00
Brandon Yates 52ad8b0977 Update L0 Loader to 1.4.1 (v1.2 spec)
Also make changes to debug API to mitigate API break

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2021-06-23 19:27:50 +02:00
Igor Venevtsev 79c258977a Add L0::DebugSession::getRegisterSetPropertiesExp() stub
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-06-22 18:38:32 +02:00
Mateusz Hoppe e9a43f1f66 Add readModuleDebugArea() method
Related-To: NEO-5940

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-06-07 15:26:22 +02:00
Mateusz Hoppe 734e22857e Add RootDebugSession
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-05-16 14:47:10 +02:00
Mateusz Hoppe 6594119afb Add debugSession interfaces
Related-To: NEO-4516

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-04-21 08:21:27 +02:00
Mateusz Hoppe eb03fd7603 Add startAsyncThread interface to DebugSession
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-04-20 11:24:02 +02:00
Mateusz Hoppe a2cbb4f859 Add readEvent method to DebugSession
Related-To: NEO-4556

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-04-08 17:55:54 +02:00
Mateusz Hoppe 95b9880385 Add initialize() to DebugSession
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-04-01 16:51:31 +02:00
Mateusz Hoppe 1544c6d001 Split getDebugSession and createDebugSession logic
Related-To: NEO-4554

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-03-19 15:38:36 +01:00
Mateusz Hoppe 6356de6511 Add debug api handlers 2
Related-To: NEO-4554

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-03-04 12:45:40 +01:00
Mateusz Hoppe 8f87dfaf0c Add Debug API handlers
Related-To: NEO-4554


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-03-01 15:26:43 +01:00