- The FsAccess, ProcFsAccess and SysfsAccess classes have been added in
a file in the Sysman Shared directory. The instances of these classes
are maintained in the Sysman Kmd Interface classes.
- Added functions for opendir, readdir and closedir in the shared code.
- Added a ULT in the sysman directory to cover these new functions from
the shared code.
Related-To: LOCI-4689
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
Related-To: LOCI-4819
- When communicating with the Metrics Libraries, if one is using a
specific sub device, then the correct physical sub device index and
number of sub devices must be used.
- When Affinity Mask is set, this hierarchy information is lost,
therefore the sub device hierarchy data is stored in a map to each
"device" to be returned to the user allowing for the correct sub device
information to be passed to the metrics library.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Add support for new GTPin loading logic in OCL path, similar to existing
in L0 - invoking exposed, dedicated API call (OpenGTPinOCL).
- Move logic to shared, including unit tests
- Check whether instrumentation is required on
context creation and if yes,
make a call to OpenGTPinOCL function.
Handle potential errors gracefully without exiting.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Add support for new GTPin loading logic in OCL path, similar to existing
in L0 - invoking exposed, dedicated API call (OpenGTPinOCL).
- Move logic to shared, including unit tests
- Check whether instrumentation is required on
clGetPlatformIDs API call, and if yes,
make a call to OpenGTPinOCL function.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
numDeviceEvents out param is not being updated in case
there are no events and device events map is not overridden
on multiple register calls result in failure.
Related-To: LOCI-4751
Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
- The sysfs filenames have been added in the sysfsNameToFileMap of the
SysmanKmdInterface classes.
- The functions returning the sysfs filenames have been removed from the
shared directory.
- The ULTs have been added to return the sysfs filenames.
Related-To: LOCI-4699
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
The corresponding sysfs file names used by the standby module has been
added in the sysfsNameToFileMap.
The ULTs have been added in the standby module covering the new
filename.
The base path for the sysfs filenames corresponding to the Xe driver
have been modified.
Related-To: LOCI-4406
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
- Added new sysman APIs introduced in spec1.7
- Added ULTs to cover the new APIs
Related-To: LOCI-4667
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
Maintain cache of file names and file descriptor to
avoid invoking open and close system calls on every
read call.
Related-To: LOCI-4556
Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
Support to get power related sysfs names based on drm
driver installed.
Related-To: LOCI-4403
Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
The files containing the new 'SysmanKmdInterface' has been moved into
the new 'shared' directory in the existing sysman directory. More files
are to be added in this directory which will be used by all the sysman
modules in the sysman and tools directories.
Related-To: LOCI-4649
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
- do not allocate state save area every time attention event
is handled
- keep allocated memory for subsequent events
- remove not needed DBEUG_BREAK
Related-To: NEO-8183
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- 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>
The new classes SysmanKmdInterface, SysmanKmdInterfaceI915 and
SysmanKmdInterfaceXe have been introduced.
A map is maintained in the SysmanKmdInterfaceI915 and
SysmanKmdInterfaceXe class for the sysfs file names.
The access specifier of the function getDrmVersion has been changed from
protected to public so as to use it in the sysman code. This is required
for the SysmanKmdInterface pointer to point to the
SysmanKmdInterfaceI915 and SysmanKmdInterfaceXe accordingly.
The ULTs have been added for the new sysfs file path corresponding to
the i915 and the Xe driver.
Related-To: LOCI-4399
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
Storing config space during sysman init might result in
providing inappropriate properties as config space can be
modified.
Read config space whenever properties are queried.
Related-To: LOCI-4513
Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
System Routine changes for implementing large-grf debugging
will result in GRF count of 256 being reported for kernels
in all GRF modes. Applications using L0 Debug API do not
yet have a way to determine actual GRF count for kernel.
This commit is a temporary adjustment to avoid breaking debug
API users after new system routine is enabled.
This problem will be fully solved in follow up patch with switch to
zetDebugGetThreadRegisterSetProperties
Related-to: NEO-7370
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
- Abstracts product helpers logic for uuid
- Add UUID retrieval for Linux for Sysman via zesInit path
Related-To: LOCI-4137
Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
- Port events module to new sysman design
- Add events ULTs for new sysman interface
Related-To: LOCI-4120
Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
The Memory Info object is used in the getState function for memory.
Some of the ULTS in the memory modules has been modified.
A function to return the sysfs nodes for the Memory address range has
been added in the IoctlHelper class corresponding to the XE and i915
driver.
Related-To: LOCI-4397
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
Added ULTs for Fan module in new sysman implementation
Added support for Fan in zello_sysman
Related-To: LOCI-4409, LOCI-4412
Signed-off-by: Kumar, Shubham <shubham.kumar@intel.com>
Add support for enabling compute unit debug mode in sysman
which is not initialized by core.
Related-To: LOCI-4370
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
On Warm reset, With default bar size set by bios, VF bar
allocation is getting failed because of bug in pci driver
which impacts SRIOV functionality.
Resize VF bar size for succesful allocation of VF bar
post warm reset.
Related-To: LOCI-4481
Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
Added support for the Performance APIs in the new sysman design.
Added ULTs for the Performance APIs in the new sysman design.
In the black box test for performance, the API to compute the number
of sub devices has been changed in order to get the sub device count
regardless of the sysman initialization using zeInit or zesInit.
Related-To: LOCI-4294
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
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>
Replacing normal pointers by smart pointers in diagnostics module of L0 sysman.
Related-To: LOCI-2810
Signed-off-by: Singh, Prasoon <prasoon.singh@intel.com>
Replacing normal pointers by smart pointers in performance module of L0 sysman.
Related-To: LOCI-2810
Signed-off-by: Singh, Prasoon <prasoon.singh@intel.com>
Add debug variable to set sleep duration for HBM
IFR to complete
Related-To: LOCI-4298
Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
ensure default hw ip version matches the value from helper
change pvc ult execution to revision 3
Related-To: NEO-7738
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
- when resume(all) is called - all threads' sr counter needs to be
verified. Reading state save area separately for all threads takes
longer than reading whole state save area once. State save area is
only read again if sr counter wasn't updated
- fail while reading state save area means threads might have completed
execution
- this fix optimizes time spent in resume(all), that may be called before
debugger detaches
Related-To: NEO-7897
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- 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>
ensure default hw ip version matches the value from helper
change pvc ult execution to revision 3
Related-To: NEO-7738
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
- 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>
Replacing normal pointers by smart pointers in fabric_port module of L0 sysman.
Related-To: LOCI-2810
Signed-off-by: Singh, Prasoon <prasoon.singh@intel.com>
- 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>
Replacing normal pointers by smart pointers in temperature module of L0 sysman.
Related-To: LOCI-2810
Signed-off-by: Singh, Prasoon <prasoon.singh@intel.com>
Replacing normal pointers by smart pointers in standby module of L0 sysman.
Related-To: LOCI-2810
Signed-off-by: Singh, Prasoon <prasoon.singh@intel.com>
Replacing normal pointers by smart pointers in engine module of L0 sysman.
Related-To: LOCI-2810
Signed-off-by: Singh, Prasoon <prasoon.singh@intel.com>
- Added ULTS to improve the code coverage in fs_access.
- Used the shared functions in the ULTs.
- Added the function for pwrite in the shared code.
Related-To: LOCI-2117
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
Replacing normal pointers by smart pointers in scheduler module of L0 sysman.
Related-To: LOCI-2810
Signed-off-by: Singh, Prasoon <prasoon.singh@intel.com>
Replacing normal pointers by smart pointers in memory module of L0 sysman.
Related-To: LOCI-2810
Signed-off-by: Singh, Prasoon <prasoon.singh@intel.com>
Topology map was only being created when ZET_ENABLE_PROGAM_DEBUGGING was
set. This was not correct. Now it is unconditionally created at init,
and debug attach will fail if it is not valid.
Related-to: LOCI-3937
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
As the fan component is not supported on Linux, hence for the ULTs a
fan handle is created and used which improves the coverage for the Fan
component.
Related-To: LOCI-2113
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
The memoryBusWidth used for the computation of maxBandwidth has been
changed to 128 bytes from 128 bits. Hence the final maxBandwidth need
not be further divided by 8 to convert it into bytes/sec.
Related-To: LOCI-3833
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
- 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>
- Added support for the Power APIs in the new sysman design.
- Added ULTs for the Power APIs in the new sysman design.
- Added change to measure the average power in the black box test for
Power.
Related-To: LOCI-3891
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
This patch uses maximum OA buffer size for the
platform when opening an io stream.
Related-To: LOCI-4103
Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
Add support for Fabric APIs in new sysman design.
This design is independent of level zero core.
Related-To: LOCI-4091
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
- 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>
- The 'paramInfo' for the sensor type ZES_TEMP_SENSORS_MEMORY has been
corrected from TemperatureDomainPackage to TemperatureDomainHBM.
- The ULTs for temperature have been enabled for windows.
Related-To: LOCI-3149
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
- 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>
A new environment variable ZELLO_SYSMAN_USE_ZESINIT is used to
distinguish the sysman initialization with zeInit and zesInit.
For sysman initialization using zeInit, ZES_ENABLE_SYSMAN is set
if it is not set initially.
Related-To: LOCI-3949
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
- for DG2 platforms it is valid only for G10/G11/G12
- for MTL platforms it is valid only for 12.70.0 and 12.71.0
Additionally:
- setup default hw ip version for each platform
- merge dg2 specific product helper tests to single file
Related-To: HSD-14015808183, HSD-14015812625, HSD-14016015202
Related-To: HSD-14015812559, HSD-14015816823
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@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>
-start async thread at device initialization which initializes selected
builtins and exits
-share module across builtins using same binary
Resolves: NEO-7644
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
-start async thread at device initialization which initializes selected
builtins and exits
-share module across builtins using same binary
Resolves: NEO-7644
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@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>
-start async thread at device initialization which initializes selected
builtins and exits
-share module across builtins using same binary
Resolves: NEO-7644
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
-start async thread at device initialization which initializes selected
builtins and exits
-share module across builtins using same binary
Resolves: NEO-7644
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
The condition checks which included the IGFX_PVC and IGFX_XE_HP_SDV
flags have been removed and necessary changes have been done in the
test cases.
Related-To: LOCI-3801
Signed-off-by: Bari, Pratik <pratik.bari@intel.com>