New addrlib trips this warning in release builds on UB 18.04 with
gcc.
Change-Id: I4a8aa0e531fa21011ddde99d769a8452d333ff20
[ROCm/ROCR-Runtime commit: 2e1b863195]
We should preserve the queue address and queue size when suspending a
queue. The ROCdbgapi gets all its information from the KFD, and if we
reset the queue properties, a call to queue snapshot will not return
the correct information.
Change-Id: I646ed4a779cada55b0c1b4342ec140d3678beb67
[ROCm/ROCR-Runtime commit: 4f1a9c8139]
Static and dynamic builds should both output libhsa-runtime64.??
Current code produces libhsa-runtime64_static.a.
Change-Id: Ibf1983f560cd069b33d98fec432e3174a17d8d6c
[ROCm/ROCR-Runtime commit: 2042ed3bdb]
Keep some warnings from being promoted to errors for addrlib
compilation with clang.
Change-Id: I6e5ae002e1d7a60e4d315f6bbadcf65734c2d287
[ROCm/ROCR-Runtime commit: 5c4f71191b]
Dependency changes between static and dynamic build caused a cmake
crash when using ccmake or cmake-gui. This is fixed by cmake in
version 3.12. Until then deleting the target dependency data at
project startup allows the UI to function correctly.
Also warns about cosmetic issues when using older cmakes.
Change-Id: I8bd2ade9b59e7c27652090d1b6298cb01095a965
[ROCm/ROCR-Runtime commit: 0dae86f686]
Interface target now depends directly on rocr dependencies and
indirectly on the rocr source target. This duplicates some code
but seems to be necessary to restrict application of whole-library.
Change-Id: I35e836de38aad1eee5387531362871293e30da9d
[ROCm/ROCR-Runtime commit: 8fd41bd513]
Static linking disregards module initializers. This breaks clocks
and the API table. The patch adds an interface target during
static build that wraps the archive in --whole-archive to avoid
incomplete initialization.
Change-Id: Id32afbf969c1f3f16a191e5b2b66847669165fb7
[ROCm/ROCR-Runtime commit: 87e54be4e7]
libelf does not natively support cmake packages and is not located
by cmake's default system library modules.
Change-Id: I4e7cda32615febf9f45ccc15f4e2a3f3505804bb
[ROCm/ROCR-Runtime commit: 727cc9ccd3]
For static linking all non-API functions must have internal linkage
or be in project namespace to avoid colliding with application symbols.
Change-Id: I3398e40a387cca36f3ddef2b978306c765161d72
[ROCm/ROCR-Runtime commit: 0be21c54a6]
Operands were relying on implicit type conversion which may result
in range errors.
Change-Id: I4b35ef92dcaf8b547aed02fea36aed75d392c6af
[ROCm/ROCR-Runtime commit: 99e2942949]
Describe the new build process, build dependencies, and usage.
Also remove some old known issues.
Change-Id: Iec85db378442e3e0ca091d551a42a40e6549ddb3
[ROCm/ROCR-Runtime commit: cd26cbbe5f]
Default is OFF to conform to latest cmake standard (3.15) and
because this feature can cause some confusion for unaware developers.
Change-Id: I00f9ec2185c27d2f6a8d2c7f294512a268a4e3f5
[ROCm/ROCR-Runtime commit: f4bb51476d]
Add namespacing to elf find module.
Stop using CMAKE_CXX_FLAGS and start using target properties for this.
Ideally we should remove the actual option strings and replace with cmake
compiler properties or compile features.
Change-Id: I57756387b3bd3c565c99a35fed4b37fe1a2d0556
[ROCm/ROCR-Runtime commit: 9ff0268f4c]
Adds support for find_package(), locates dependencies with
find_package(), swaps the roles of /hsa/include/hsa and /include/hsa
as well as /lib & /hsa/lib.
Kernel code objects no longer build at every make call but only
as needed. Dependencies are tracked through to clang.
Device lib is still located with directory searches. build_devicelibs.sh
does not yet install the cmake config files on the build systems.
Corrects DAZ mode mismatch in code object compilation.
Still needs updating to compiler properties rather than direct
manipulation of CMAKE_CXX_FLAGS.
Change-Id: I02d946c8a77d5cf753681f8e3d3153fca4aae86a
[ROCm/ROCR-Runtime commit: 55a4f01b16]
Save and restore exec_lo/exec_hi around the mGetDoorbellId macro in
the signal_error case just like we do in the signal_debugger case.
Also reset the wave_id (ttmp4/ttmp5) to 0 since it isn't preserved.
0 will be detected as a new wave by the debugger api library.
Change-Id: I5123caa9431154ec1584bae85e42648c97c64c37
[ROCm/ROCR-Runtime commit: db6a781f0c]
Create symlink directory before attmpting to create the symlink.
Change-Id: Ic4d07052e5bfc32280c7d71e58784cbba3536e2a
[ROCm/ROCR-Runtime commit: d163fac13d]
Initialize all the fields in the HSA queue object to known values
before calling the thunk to create the KFD queue. This ensures that
when the debugger detects that a KFD queue is created it can access
the values it requires. The values it requires include the apperture
addresses, queue scratch memory base, and the HSA queue kind.
Change-Id: Ic985755b0402c6794d5987e60aff50d223f09eb9
[ROCm/ROCR-Runtime commit: a74660c69a]
- Check address is in the range of the mapped file.
- Correct calculation of offset within the file.
Change-Id: I848a3ead4422698c2ef1c140bc8ae5e000a717f7
[ROCm/ROCR-Runtime commit: 5f614c31f5]
Set ttmp11[8] and send a signal for the debugger when the handler
is entered because of an address watch exception.
Change-Id: Icc83a79027bb7ca1e50e19e2f00464cb9ca862f3
[ROCm/ROCR-Runtime commit: da6d892058]
Adds the following:
- New factory method to create a code object reader from
file with offset and size.
- A pair of queries on a loaded code object to get the URI name/length.
- A bump to the AMD vendor loader extension API and its associated table.
Change-Id: I17c83e9c2447d29a43c438459395365f786a3611
[ROCm/ROCR-Runtime commit: 9eb735ec24]
Zero size pools have no numa bindings. Selecting a pool with numa
bindings should prevent thrashing due to numa balancing daemon.
Change-Id: Ib0082cb9af66e24e07a2adbb83c1045145d51403
[ROCm/ROCR-Runtime commit: 32bb10086d]
This has nothing to do with registering agents.
Moved to Runtime::Load.
Change-Id: I0f84c9d8f5a68d458717111113f02af56c92f4f6
[ROCm/ROCR-Runtime commit: 40d1931209]
Memory from the suballocator may be exported via IPC. If this
happens then the allocating process should not reuse that memory
since it would still be connected to the remote process. IPC exported
memory must be released back to the driver.
Change-Id: I2ab0c814f63191f753fc3640cc4140ee144bf07f
[ROCm/ROCR-Runtime commit: 29b660c91e]
All types which could be generated from a fragment need to take this branch.
Taking the branch is correct for all types, it was a performance optimization
only and was missing IPC. Branch removal simplifies updates for any future
fragment use and will allow CQE to report any performance issues that might
require bringing the branch back.
Change-Id: I8041788c422e880b764e144eb1877f5126ba76f3
[ROCm/ROCR-Runtime commit: 09ebc21d13]
Thunk may report nullptr for host base if the host does not have
access. Use agent base in this case.
Change-Id: I44883d35a3fff0941b1e3037d16b059591a6c511
[ROCm/ROCR-Runtime commit: 397608e2c0]
The 1st level trap handler jumps to the 2nd level trap handler on
context save requests or regular traps if (mode.debug_en
&& !status.halt) is true.
If we return from the 2nd level trap handler without status.halt=1, then
we need to make sure mode.debug_en is cleared, or we will re-enter the
2nd level trap handler again and again when trapsts.savectx is set.
Change-Id: I4db6369de8c91a32842f488a4df5c9d94fa65aa9
[ROCm/ROCR-Runtime commit: 584ef1e1ca]
Missing attribute type. Also remove dangling word in
HSA_AMD_AGENT_INFO_MEMORY_WIDTH.
No code change, documentation only.
Change-Id: I1d0efdb721eaa0e2fb0bdb21f8d5e034beaf8857
[ROCm/ROCR-Runtime commit: 012ffed459]
In the case where SQ_WAVE_TRAPSTS_XNACK_ERROR_MASK is set, we also need
to set the TTMP11_EXCP_RAISED_BIT in ttmp11. If we don't, the debugger
may think that the wave is halted at launch (halted without events).
Change-Id: I8c19605bbfc145275728de4ad1979d3ba8bb478a
[ROCm/ROCR-Runtime commit: 838c6bd6ad]
Mesa address lib faults if the only acceptable swizzle modes are
forbidden. The old address lib simply ignored the forbidden list
in this case. Mesa addrlib will not select linear unless there
is no other option so allowing linear mode for tiled images will
still use tiled modes when possible.
Change-Id: I1aa44d072db902c968484dbff67b482af03b45d9
[ROCm/ROCR-Runtime commit: c60364e1e0]
Peer accessibility query was not previously directed at the peer agent.
Change-Id: I259f0afac827a6e4778a56419a3acd296d00391b
[ROCm/ROCR-Runtime commit: 9c9064c2b7]