- read/write registers/memory only allowed for threads reported as
stopped by events
- threads newly stopped, accidentally, that are resumed immediately
are not allowed register/memory access
Related-To: NEO-7776
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Register read/write implementation was unnecessarily checking magic values
which were taking significant time. By removing those checks, register
access is speed-up by a factor of 3.
Resolves: NEO-7754
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>
Not enough EUThread objects were being created
resulting in a crash during breeakpoint
processing
Related-to: LOCI-3937
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
With Zebin enabled lock was called
by a thread that already owns the mutex.
This lock is not needed as it's already locked
under another mutex in debuchDetach
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
During async thread event processing, it was possible to
read SSAH before any threads stopped and before it was
resident resulting in an assert. This is both a fix for
assertion and minor optimization.
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
- do not mark interrupt as complete when thread was stopped
before handling ATT event
- if no newly stopped threads reported in ATT event, interrupt
trigger thread unavailable event
Related-To: NEO-7501
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>
- when debugDetach() is not called properly, close connection
in debug session before Device is destroyed
Related-To: NEO-7366
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>
- 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>
- 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>