- reading state save area for every threads takes too long when all
application threads have completed and there are stale ATT events to
process
- on detach gdb seemed to be frozen waiting for ATT event to be handled
- fix is to read state save area once - and check SIP counter for every
thread in ATT bitmask
Related-To: NEO-7897
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Single-stepping threads is based on resume() and THREAD_STOPPED events
To speed up single-stepping, stopped threads must be discovered
immediately after resume() is called.
This change is adding ATT scan and event generation in resume()
Related-To: NEO-7750
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- getInternalEvent() should wait on cv that is notified when new event is
read
- this change speeds up application execution under debugger
- refactor unit tests - do not start async thread in ults when not
needed , use synchronous read mode instead
Related-To: NEO-7641
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- pass deviceIndex based on deviceBitfield
- do not call ioctl again on EBUSY error
Resolves: NEO-7414
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Move Linux DebugSession thread conversion functions up to
DebugSessionImp to allow reuse in windows implementation
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
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>
- all tileInstanced ISAs must be received before sending
MODULE LOAD/UNLOAD events for zebin modules
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- 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>
- 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>
- 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>
- 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>
- after last tile DebugSession is detached, root DebugSession
must close fd
Related-To: NEO-5784
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- 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>
- 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>
- 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>
- 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>
- 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>