Commit Graph

107 Commits

Author SHA1 Message Date
Brandon Yates
ea7ae7564f feature: Implement read/writeGpuMemory for Xe debugger
- makes prelim read/writeGpuMemory generic
- Implements Xe specific ioctls and fsyncs
- Refactors dbg IoctlHelper to use shared base class
for Xe and i915

Related-to: NEO-9668

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-02-08 22:09:59 +01:00
Jitendra Sharma
d69bb8ac15 refactor: Move common debugger methods out of prelim directory
Related-To: NEO-9668
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-02-06 12:45:58 +01:00
Jitendra Sharma
adef8fbc8d feature: Implement Process entry/exit event with xe
Related-To: NEO-9671

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-02-06 08:40:34 +01:00
Jitendra Sharma
e8ca729002 feature: Add support to handle DRM_XE_EUDEBUG_EVENT_VM event
Related-To: NEO-8407

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-01-24 15:57:32 +01:00
Jitendra Sharma
b34e8646ac feature: Implement Xe Eu debug Open and Exec Queue events
Related-To: NEO-8407

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-01-23 08:04:21 +01:00
Brandon Yates
d3baab00db feature: Register resources for Xe at vm creation (1/x)
Add interfaces to IoctlHelperXe for registering resources.
Introduce new debug key EnableXeResourceRegistration to attach
resources to vm_create ioctl.

Related-to: NEO-9161
Signed-off-by: Brandon Yatse <brandon.yates@intel.com>
2024-01-11 08:15:50 +01:00
Compute-Runtime-Validation
46d860b2bf Revert "feature: Register resources for Xe at vm creation (1/x)"
This reverts commit e1fefd1974.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-01-09 11:36:00 +01:00
Brandon Yates
e1fefd1974 feature: Register resources for Xe at vm creation (1/x)
Add interfaces to IoctlHelperXe for registering resources.
Introduce new debug key EnableXeResourceRegistration to attach
resources to vm_create ioctl.

Related-to: NEO-9161

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-01-08 13:36:24 +01:00
Mateusz Jablonski
138fb65401 refactor: correct naming of enum class constants 11/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 14:52:57 +01:00
Brandon Yates
0c7ba17f1a feature(debugger): Implement attach for xe debugger
Related-to: NEO-8407

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-12-18 16:27:17 +01:00
Mateusz Jablonski
8c90350f3c refactor: correct naming of enum class constants 5/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 10:06:02 +01:00
Mateusz Hoppe
eac3d2130d fix: correclty report pagefaults while single-stepping or resuming bp
- while resuming threads - after checking threads stopped immediately
check for FE bit, if set do not generate thread stop event
- if PageFault occured, report stop event based on pagefault event

Related-To: GSD-7316

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-12-11 14:53:49 +01:00
Mateusz Jablonski
306142eefa refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 16:00:52 +01:00
Mateusz Jablonski
b92b5892b8 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-01 08:34:19 +01:00
Mateusz Jablonski
c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Mateusz Jablonski
35c1f34672 refactor: move number of threads per eu to release helper
Related-To: HSD-18034098647
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-20 12:16:33 +01:00
Brandon Yates
7f1167d5fe fix(debugger): Fix handling pf event with flat hierarchy
Related-to: GSD-6918

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-11-20 10:57:17 +01:00
Kumar, Shubham
03a8b76e02 feature(sysman): Xe porting of Power Module
Related-To: LOCI-4851

Signed-off-by: Kumar, Shubham <shubham.kumar@intel.com>
2023-11-12 01:53:50 +01:00
Mateusz Jablonski
b487b00ade test: refactor L0 mock device to allow forward declaration
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-03 10:11:55 +01:00
Brandon Yates
a1c7f419fb test: Fix use of prelim ULT headers in non-prelim build
This fixes build issue when PRELIM support is not enabled

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-11-01 16:30:29 +01:00
Brandon Yates
85d35d5239 feature(debugger): use linux driver type to create correct debug session imp
Related-to: NEO-8403

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-10-23 10:25:28 +02:00
Brandon Yates
3fbce47182 refactor(debugger): Rename DebugSessionLinux
Rename to DebugSessionLinuxi915 in preparation
for implementation of Xe debugger

Related-to: NEO-8404

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-10-09 10:12:47 +02:00
Brandon Yates
7c1f5585d7 feature(debugger): online page fault event handling
Sync to
https://github.com/intel-gpu/drm-uapi-helper/releases/tag/v2.0-rc20

Related-to: LOCI-2052

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-09-18 00:15:45 +02:00
Brandon Yates
513045bd90 fix(debugger): auto-ack vmbind on tile for module from other tiles
Related-to: NEO-8371

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-09-14 15:33:58 +02:00
Compute-Runtime-Validation
e61c5af7ec Revert "feature(debugger): online page fault event handling"
This reverts commit 0c6444aab7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-24 08:16:45 +02:00
Brandon Yates
0c6444aab7 feature(debugger): online page fault event handling
Related-to: LOCI-2052

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-08-23 18:29:58 +02:00
Brandon Yates
3637f519c3 test: fix DebugSession ULT
Use size of actual SIP SSA header as input to test

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-07-25 17:12:15 +02:00
Mateusz Hoppe
9a53f20e6c performance(debugger): optimize ATT event handling
- check threads with attention state before reading SR_IDENT
- memory read is costly, for threads already in stopped state
there is no need to read sr_ident and check thread state again
- single stepping one thread performance is substantially improved,
by the factor of 6x

Related-To: NEO-8183

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-17 10:42:34 +02:00
Kamil Kopryk
082d33bb7c fix: correct query topology on xe
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-22 13:24:52 +02:00
Mateusz Hoppe
c4f36a6808 fix(debugger): ack pending events before closing session
- ack module / isa vm bind events before close(fd)

Related-To: NEO-7960

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-11 17:21:23 +02:00
Fabian Zwolinski
e351a90f81 refactor: Rename member variables to camelCase 2/n
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-27 20:39:22 +02:00
Fabian Zwolinski
c441e9e971 refactor: Rename member variables to camelCase
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-26 16:05:07 +02:00
Mateusz Hoppe
079105a5c2 fix: optimize ATT handling - read state save area once for all threads
- 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>
2023-04-14 10:57:18 +02:00
Mateusz Hoppe
e26ebfc51b fix: check exception reason for stopped threads
- before marking interrupt request check exception reason. If there is
exception other than forced exception or forced external halt treat
thread as stopped and generate distinct event for it.

Related-To: NEO-7869

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-04-05 12:01:20 +02:00
Mateusz Hoppe
bfb59cc573 fix: do not resume threads that have pending THREAD_STOPPED events
- threads with pending events cannot be resumed by resume(all) as they
they were not yet discovered by debugger as stopped.
- set reportAsStopped when THREAD_STOPPED event is read
- when resuming, only resume a thread when it was reported

Related-To: NEO-7817

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-31 12:42:25 +02:00
Mateusz Hoppe
f2275caf3a performance: L0 debug - improve single-step time
- check threads with ATT only when more than one thread is resumed
- if single thread is resumed - check only that thread
- delay thread state check - allowing thread to reenter SIP

Related-To: NEO-7750

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-15 09:48:35 +01:00
Mateusz Jablonski
fbe01e534b fix l0 debug: correct UNRECOVERABLE_IF condition
correct debug API tests to respect more than 8 threads per eu

Related-To: NEO-7442

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-10 12:54:31 +01:00
Mateusz Hoppe
caecbb12f0 fix: Add ATT scan after interrupt in handling ATT event
- make sure to capture all threads after interrupt, also those that
could be lagging to enter SIP

Related-To: NEO-7776

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-07 11:53:25 +01:00
Mateusz Jablonski
5b2e1f619c fix hw config linux: set slice info based on slice count
Related-To: NEO-7622
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-06 15:47:40 +01:00
Mateusz Hoppe
802848a43f fix: L0Debug - allow access only for reported stopped threads
- 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>
2023-03-03 13:34:57 +01:00
Mateusz Hoppe
6947220298 perf(debugger): Optimize registers access during debugging
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>
2023-02-23 12:14:03 +01:00
Mateusz Hoppe
e8b4841577 perf(debugger): Optimize single-stepping of eu threads
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>
2023-02-23 11:06:13 +01:00
Warchulski, Jaroslaw
0556d543a3 Cleanup includes 56
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-16 14:42:44 +01:00
Warchulski, Jaroslaw
5ec9de90ee Cleanup includes 52
Cleaned up files:
level_zero/core/source/driver/driver.h
level_zero/tools/source/sysman/fabric_port/windows/os_fabric_port_imp.h
level_zero/tools/source/sysman/pci/os_pci.h
shared/source/debug_settings/debug_settings_manager.h
shared/source/gmm_helper/page_table_mngr.h
shared/source/gmm_helper/windows/gmm_memory_base.h
shared/source/kernel/kernel_arg_metadata.h
shared/test/common/libult/linux/drm_mock.h
shared/test/unit_test/fixtures/command_container_fixture.h
shared/test/unit_test/fixtures/product_config_fixture.h
shared/test/unit_test/helpers/simd_helper_tests_pvc_and_later.inl
shared/test/unit_test/os_interface/hw_info_config_tests.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-13 11:39:34 +01:00
Kamil Kopryk
524d945e8c refactor: rename l0 hw_helpers dir to gfx_core_helpers
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-02 11:15:56 +01:00
Kamil Kopryk
eb002acaa1 refactor: rename l0_gfx_core_helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-24 12:59:26 +01:00
Warchulski, Jaroslaw
11764dd9bf Cleanup includes 40
Cleaned up files:
shared/source/os_interface/linux/drm_neo.h
shared/source/os_interface/windows/wddm/um_km_data_translator.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-23 16:19:35 +01:00
Mateusz Hoppe
f30e66d950 fix: add SLM support for tile attach
Resolves: NEO-7650

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-01-20 16:11:36 +01:00
Filip Hazubski
2ed2ac73d1 refactor: correct ioctl and related functions to return signed int
Change IoctlHelper::ioctl function to return int.
Change IoctlHelper::createGemExt function to return int.
Change IoctlHelper::queryDistances function to return int.
Change UuidRegisterResult::retVal type to int32_t.
Rename res to ret in debug_session.cpp for consistency.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-01-19 22:04:27 +01:00
Mateusz Hoppe
23b1f74615 fix: L0 debug - use correct condition variable to wait for event
- 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>
2023-01-18 11:55:32 +01:00