Go to the documentation of this file.
398 #ifndef _AMD_DBGAPI_H
399 #define _AMD_DBGAPI_H 1
402 #if !defined(AMD_DBGAPI_CALL)
403 #define AMD_DBGAPI_CALL
406 #if !defined(AMD_DBGAPI_EXPORT_DECORATOR)
407 #if defined(__GNUC__)
408 #define AMD_DBGAPI_EXPORT_DECORATOR __attribute__ ((visibility ("default")))
409 #elif defined(_MSC_VER)
410 #define AMD_DBGAPI_EXPORT_DECORATOR __declspec(dllexport)
414 #if !defined(AMD_DBGAPI_IMPORT_DECORATOR)
415 #if defined(__GNUC__)
416 #define AMD_DBGAPI_IMPORT_DECORATOR
417 #elif defined(_MSC_VER)
418 #define AMD_DBGAPI_IMPORT_DECORATOR __declspec(dllimport)
422 #define AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL
423 #define AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL
425 #if !defined(AMD_DBGAPI)
426 #if defined(AMD_DBGAPI_EXPORTS)
427 #define AMD_DBGAPI AMD_DBGAPI_EXPORT
429 #define AMD_DBGAPI AMD_DBGAPI_IMPORT
433 #if defined(__cplusplus)
437 #if defined(__linux__)
438 #include <sys/types.h>
463 #define AMD_DBGAPI_VERSION_0_24
469 #define AMD_DBGAPI_VERSION_0_30
534 #if defined(__linux__)
561 #if defined(__linux__)
834 #define AMD_DBGAPI_VERSION_MAJOR 0
840 #define AMD_DBGAPI_VERSION_MINOR 30
972 #define AMD_DBGAPI_ARCHITECTURE_NONE (amd_dbgapi_architecture_id_t{ 0 })
1106 uint32_t elf_amdgpu_machine,
1211 const void *memory,
char **instruction_text,
1433 #define AMD_DBGAPI_PROCESS_NONE (amd_dbgapi_process_id_t{ 0 })
1787 #define AMD_DBGAPI_CODE_OBJECT_NONE (amd_dbgapi_code_object_id_t{ 0 })
1979 #define AMD_DBGAPI_AGENT_NONE (amd_dbgapi_agent_id_t{ 0 })
2159 #define AMD_DBGAPI_QUEUE_NONE (amd_dbgapi_queue_id_t{ 0 })
2506 #define AMD_DBGAPI_DISPATCH_NONE (amd_dbgapi_dispatch_id_t{ 0 })
2746 #define AMD_DBGAPI_WAVE_NONE (amd_dbgapi_wave_id_t{ 0 })
3476 #define AMD_DBGAPI_DISPLACED_STEPPING_NONE \
3477 (amd_dbgapi_displaced_stepping_id_t{ 0 })
3557 const void *saved_instruction_bytes,
3656 #define AMD_DBGAPI_WATCHPOINT_NONE (amd_dbgapi_watchpoint_id_t{ 0 })
3854 #define AMD_DBGAPI_REGISTER_CLASS_NONE (amd_dbgapi_register_class_id_t{ 0 })
3984 #define AMD_DBGAPI_REGISTER_NONE (amd_dbgapi_register_id_t{ 0 })
4234 size_t *register_count,
4566 #define AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1))
4589 #define AMD_DBGAPI_ADDRESS_CLASS_NONE (amd_dbgapi_address_class_id_t{ 0 })
4770 #define AMD_DBGAPI_ADDRESS_SPACE_NONE (amd_dbgapi_address_space_id_t{ 0 })
4778 #define AMD_DBGAPI_ADDRESS_SPACE_GLOBAL (amd_dbgapi_address_space_id_t{ 1 })
5506 #define AMD_DBGAPI_EVENT_NONE (amd_dbgapi_event_id_t{ 0 })
5900 #define AMD_DBGAPI_SHARED_LIBRARY_NONE (amd_dbgapi_shared_library_id_t{ 0 })
5970 #define AMD_DBGAPI_BREAKPOINT_NONE ((amd_dbgapi_breakpoint_id_t) (0))
6067 void *(*allocate_memory) (
size_t byte_size);
6154 const char *shared_library_name,
6320 #if defined(__cplusplus)
@ AMD_DBGAPI_WAVE_STOP_REASON_NONE
If none of the bits are set, then amd_dbgapi_wave_stop stopped the wave.
Definition: amd-dbgapi.h:2935
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_write_register(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size, const void *value) AMD_DBGAPI_VERSION_0_24
Write a register.
@ AMD_DBGAPI_QUEUE_ERROR_REASON_MEMORY_VIOLATION
A wave on the queue had a memory violation.
Definition: amd-dbgapi.h:2346
@ AMD_DBGAPI_WAVE_INFO_WAVE_NUMBER_IN_WORK_GROUP
The wave's number in the workgroup.
Definition: amd-dbgapi.h:2835
struct amd_dbgapi_client_process_s * amd_dbgapi_client_process_id_t
Opaque client process handle.
Definition: amd-dbgapi.h:1413
@ AMD_DBGAPI_ARCHITECTURE_INFO_ELF_AMDGPU_MACHINE
Return the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
Definition: amd-dbgapi.h:997
Opaque architecture handle.
Definition: amd-dbgapi.h:965
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dispatch_list(amd_dbgapi_process_id_t process_id, size_t *dispatch_count, amd_dbgapi_dispatch_id_t **dispatches, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_24
Return the list of dispatches for a process.
@ AMD_DBGAPI_STATUS_FATAL
A fatal error has occurred.
Definition: amd-dbgapi.h:608
@ AMD_DBGAPI_SHARED_LIBRARY_STATE_UNLOADED
The shared library is unloaded.
Definition: amd-dbgapi.h:5894
amd_dbgapi_wave_creation_t
The kinds of wave creation supported by the hardware.
Definition: amd-dbgapi.h:1714
@ AMD_DBGAPI_STATUS_ERROR_WAVE_OUTSTANDING_STOP
The wave has an outstanding stop request.
Definition: amd-dbgapi.h:702
@ AMD_DBGAPI_AGENT_INFO_MAX_WAVES_PER_SIMD
Maximum number of waves possible in a SIMD.
Definition: amd-dbgapi.h:2033
size_t count
Definition: amd-dbgapi.h:3720
uint64_t handle
Definition: amd-dbgapi.h:1427
@ AMD_DBGAPI_EVENT_KIND_WAVE_STOP
A wave has stopped.
Definition: amd-dbgapi.h:5520
amd_dbgapi_dispatch_info_t
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Definition: amd-dbgapi.h:2515
@ AMD_DBGAPI_DISPATCH_INFO_QUEUE
Return the queue to which this dispatch belongs.
Definition: amd-dbgapi.h:2520
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_DIVIDE_BY_0
The wave stopped due to triggering an enabled floating point divide by zero exception.
Definition: amd-dbgapi.h:2979
@ AMD_DBGAPI_ARCHITECTURE_INFO_MINIMUM_INSTRUCTION_ALIGNMENT
Return the minimum instruction alignment in bytes for the architecture.
Definition: amd-dbgapi.h:1008
@ AMD_DBGAPI_STATUS_ERROR_NOT_SUPPORTED
The operation is not supported.
Definition: amd-dbgapi.h:618
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT
An invalid argument was given to the function.
Definition: amd-dbgapi.h:622
@ AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED
A command for a wave was not able to complete because the wave has terminated.
Definition: amd-dbgapi.h:5535
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_event_processed(amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t event_id) AMD_DBGAPI_VERSION_0_24
Report that an event has been processed.
@ AMD_DBGAPI_QUEUE_TYPE_HSA_KERNEL_DISPATCH_COOPERATIVE
Queue supports HSA kernel dispatch with multiple producers protocol that supports cooperative dispatc...
Definition: amd-dbgapi.h:2296
@ AMD_DBGAPI_ADDRESS_SPACE_ALIAS_MAY
Addresses in the address spaces may alias.
Definition: amd-dbgapi.h:4974
amd_dbgapi_register_class_state_t
Indication of whether a register is a member of a register class.
Definition: amd-dbgapi.h:4275
uint64_t handle
Definition: amd-dbgapi.h:3978
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_get_info(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_wave_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_30
Query information about a wave.
uint64_t handle
Definition: amd-dbgapi.h:3848
@ AMD_DBGAPI_ADDRESS_CLASS_STATE_NOT_MEMBER
The segment address in the address space is not a member of the source language address class.
Definition: amd-dbgapi.h:5137
uint64_t handle
Definition: amd-dbgapi.h:3650
amd_dbgapi_watchpoint_kind_t
Watchpoint memory access kinds.
Definition: amd-dbgapi.h:3691
uint64_t handle
Definition: amd-dbgapi.h:4583
@ AMD_DBGAPI_STATUS_ERROR_ILLEGAL_INSTRUCTION
The bytes being disassembled are not a legal instruction.
Definition: amd-dbgapi.h:662
amd_dbgapi_breakpoint_action_t
The action to perform after reporting a breakpoint has been hit.
Definition: amd-dbgapi.h:5976
@ AMD_DBGAPI_STATUS_ERROR_INVALID_BREAKPOINT_ID
The breakpoint handle is invalid.
Definition: amd-dbgapi.h:763
amd_dbgapi_shared_library_state_t
The state of a shared library.
Definition: amd-dbgapi.h:5886
@ AMD_DBGAPI_QUEUE_ERROR_REASON_RESERVED
A reserved value only present to ensure that the underlying representation of this enumeration type i...
Definition: amd-dbgapi.h:2361
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_get_architecture(uint32_t elf_amdgpu_machine, amd_dbgapi_architecture_id_t *architecture_id) AMD_DBGAPI_VERSION_0_24
Get an architecture from the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
@ AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_STOPPED
The wave is not stopped.
Definition: amd-dbgapi.h:694
@ AMD_DBGAPI_QUEUE_ERROR_REASON_NONE
If none of the bits are set, then the queue is not in the error state.
Definition: amd-dbgapi.h:2338
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_attach(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_process_id_t *process_id) AMD_DBGAPI_VERSION_0_30
Attach to a process in order to provide debug control of the AMD GPUs it uses.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_complete(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_displaced_stepping_id_t displaced_stepping) AMD_DBGAPI_VERSION_0_24
Complete a displaced stepping buffer for a wave.
uint64_t handle
Definition: amd-dbgapi.h:5879
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_get_info(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_register_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24
Query information about a register of an architecture.
@ AMD_DBGAPI_QUEUE_ERROR_REASON_WAVE_ERROR
A wave on the queue executed an instruction that caused an error.
Definition: amd-dbgapi.h:2356
@ AMD_DBGAPI_QUEUE_INFO_AGENT
Return the agent to which this queue belongs.
Definition: amd-dbgapi.h:2173
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_NULL_ADDRESS
Return the NULL segment address value in the address space.
Definition: amd-dbgapi.h:4827
Opaque address space handle.
Definition: amd-dbgapi.h:4763
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSUPPORTED
Watchpoints are not supported.
Definition: amd-dbgapi.h:3669
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH_CONDITIONAL
The instruction conditionally branches to a literal address.
Definition: amd-dbgapi.h:1246
uint64_t handle
Definition: amd-dbgapi.h:3470
Opaque source language address class handle.
Definition: amd-dbgapi.h:4582
@ AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_SHARE
Return how watchpoints are shared between processes.
Definition: amd-dbgapi.h:1459
@ AMD_DBGAPI_RESUME_MODE_NORMAL
Resume normal execution.
Definition: amd-dbgapi.h:3259
@ AMD_DBGAPI_QUEUE_STATE_ERROR
Queue is in an error state.
Definition: amd-dbgapi.h:2327
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_start(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes, amd_dbgapi_displaced_stepping_id_t *displaced_stepping) AMD_DBGAPI_VERSION_0_24
Create a displaced stepping buffer.
@ AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_REGISTER_PAIR
The instruction unconditionally branches to an address held in a pair of registers.
Definition: amd-dbgapi.h:1254
@ AMD_DBGAPI_STATUS_ERROR_INVALID_CODE_OBJECT_ID
The code object handle is invalid.
Definition: amd-dbgapi.h:666
Opaque register class handle.
Definition: amd-dbgapi.h:3847
amd_dbgapi_dispatch_barrier_t
Dispatch barrier.
Definition: amd-dbgapi.h:2643
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSHARED
The watchpoints are not shared across processes.
Definition: amd-dbgapi.h:3675
@ AMD_DBGAPI_EVENT_INFO_RUNTIME_STATE
Return if the runtime loaded in the inferior is supported by the library for a AMD_DBGAPI_EVENT_KIND_...
Definition: amd-dbgapi.h:5702
amd_dbgapi_watchpoint_share_kind_t
The way watchpoints are shared between processes.
Definition: amd-dbgapi.h:3665
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_INVALID_OPERATION
The wave stopped due to triggering an enabled floating point invalid operation exception.
Definition: amd-dbgapi.h:2999
@ AMD_DBGAPI_WAVE_STOP_REASON_ASSERT_TRAP
The wave stopped due to executing an assert trap instruction.
Definition: amd-dbgapi.h:3037
amd_dbgapi_wave_stop_reason_t
A bit mask of the reasons that a wave stopped.
Definition: amd-dbgapi.h:2930
struct amd_dbgapi_client_thread_s * amd_dbgapi_client_thread_id_t
Opaque client thread handle.
Definition: amd-dbgapi.h:5996
@ AMD_DBGAPI_CODE_OBJECT_INFO_LOAD_ADDRESS
The difference between the address in the ELF shared object and the address the code object is loaded...
Definition: amd-dbgapi.h:1851
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_ID
The address space handle is invalid.
Definition: amd-dbgapi.h:743
A set of watchpoints.
Definition: amd-dbgapi.h:3719
uint32_t amd_dbgapi_lane_id_t
A wave lane handle.
Definition: amd-dbgapi.h:4561
@ AMD_DBGAPI_STATUS_ERROR_PROCESS_EXITED
The native operating system process associated with a client process has exited.
Definition: amd-dbgapi.h:776
@ AMD_DBGAPI_WAVE_STOP_REASON_INT_DIVIDE_BY_0
The wave stopped due to triggering an enabled integer divide by zero exception.
Definition: amd-dbgapi.h:3004
amd_dbgapi_log_level_t
The logging levels supported.
Definition: amd-dbgapi.h:5808
@ AMD_DBGAPI_LOG_LEVEL_VERBOSE
Print fatal error, warning, info, and verbose messages.
Definition: amd-dbgapi.h:5829
@ AMD_DBGAPI_LOG_LEVEL_NONE
Print no messages.
Definition: amd-dbgapi.h:5812
@ AMD_DBGAPI_WAVE_STOP_REASON_ILLEGAL_INSTRUCTION
The wave stopped due to executing an illegal instruction.
Definition: amd-dbgapi.h:3074
@ AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID
The process handle is invalid.
Definition: amd-dbgapi.h:674
@ AMD_DBGAPI_WAVE_INFO_QUEUE
Return the queue to which this wave belongs.
Definition: amd-dbgapi.h:2797
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_SYSTEM
There is a fence with system memory scope.
Definition: amd-dbgapi.h:2674
amd_dbgapi_architecture_info_t
Architecture queries that are supported by amd_dbgapi_architecture_get_info.
Definition: amd-dbgapi.h:982
Opaque displaced stepping handle.
Definition: amd-dbgapi.h:3469
@ AMD_DBGAPI_WAVE_STATE_RUN
The wave is running.
Definition: amd-dbgapi.h:2902
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_CALL_REGISTER_PAIR
The instruction unconditionally branches to a literal address and the address of the following instru...
Definition: amd-dbgapi.h:1263
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_CONVERSION
The segment address cannot be converted to the requested address space.
Definition: amd-dbgapi.h:751
Opaque hardware data watchpoint handle.
Definition: amd-dbgapi.h:3649
amd_dbgapi_dispatch_fence_scope_t
Dispatch memory fence scope.
Definition: amd-dbgapi.h:2662
@ AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_ID
The register handle is invalid.
Definition: amd-dbgapi.h:731
@ AMD_DBGAPI_INSTRUCTION_KIND_TRAP
The instruction enters the trap handler.
Definition: amd-dbgapi.h:1292
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_class_get_info(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_register_class_id_t register_class_id, amd_dbgapi_register_class_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24
Query information about a register class of an architecture.
@ AMD_DBGAPI_AGENT_INFO_NUM_SIMD_PER_COMPUTE_UNIT
Number of SIMDs per compute unit (CU).
Definition: amd-dbgapi.h:2028
amd_dbgapi_register_info_t
Register queries that are supported by amd_dbgapi_architecture_register_get_info and amd_dbgapi_wave_...
Definition: amd-dbgapi.h:3996
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_queue_list(amd_dbgapi_process_id_t process_id, size_t *queue_count, amd_dbgapi_queue_id_t **queues, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_24
Return the list of queues for a process.
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION
Return the breakpoint instruction for the architecture.
Definition: amd-dbgapi.h:1021
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_set_progress(amd_dbgapi_process_id_t process_id, amd_dbgapi_progress_t progress) AMD_DBGAPI_VERSION_0_24
Set the progress required for a process.
@ AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_BUFFER_UNAVAILABLE
No more displaced stepping buffers are available that are suitable for the requested wave.
Definition: amd-dbgapi.h:715
Opaque agent handle.
Definition: amd-dbgapi.h:1972
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_get_status_string(amd_dbgapi_status_t status, const char **status_string) AMD_DBGAPI_VERSION_0_24
Query a textual description of a status code.
amd_dbgapi_wave_info_t
Wave queries that are supported by amd_dbgapi_wave_get_info.
Definition: amd-dbgapi.h:2755
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_PROGRAM_CONSTANT
The address space is read only.
Definition: amd-dbgapi.h:4794
@ AMD_DBGAPI_QUEUE_TYPE_AMD_PM4
Queue supports the AMD PM4 protocol.
Definition: amd-dbgapi.h:2300
@ AMD_DBGAPI_INSTRUCTION_KIND_UNKNOWN
The instruction classification is unknown.
Definition: amd-dbgapi.h:1227
@ AMD_DBGAPI_WAVE_STOP_REASON_QUEUE_ERROR
The wave belongs to a queue that is in the error state.
Definition: amd-dbgapi.h:2969
@ AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_RESUMABLE
The wave cannot be resumed.
Definition: amd-dbgapi.h:706
@ AMD_DBGAPI_WATCHPOINT_KIND_LOAD
Read access by load instructions.
Definition: amd-dbgapi.h:3695
@ AMD_DBGAPI_AGENT_INFO_PCI_DEVICE_ID
PCI device ID of the agent.
Definition: amd-dbgapi.h:2013
amd_dbgapi_agent_info_t
Agent queries that are supported by amd_dbgapi_agent_get_info.
Definition: amd-dbgapi.h:1988
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_ENTRY_ADDRESS
Return the dispatch kernel function address.
Definition: amd-dbgapi.h:2586
@ AMD_DBGAPI_EVENT_KIND_NONE
No event.
Definition: amd-dbgapi.h:5516
@ AMD_DBGAPI_WAVE_INFO_STOP_REASON
Return the reason the wave stopped as a bit set.
Definition: amd-dbgapi.h:2767
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_SHARED
The watchpoints of a process are shared between all processes.
Definition: amd-dbgapi.h:3681
Opaque dispatch handle.
Definition: amd-dbgapi.h:2499
#define AMD_DBGAPI_VERSION_0_24
The function was introduced in version 0.24 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:463
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_list(amd_dbgapi_process_id_t process_id, size_t *wave_count, amd_dbgapi_wave_id_t **waves, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_24
Return the list of existing waves for a process.
@ AMD_DBGAPI_STATUS_ERROR_INVALID_AGENT_ID
The agent handle is invalid.
Definition: amd-dbgapi.h:678
@ AMD_DBGAPI_RUNTIME_STATE_LOADED_SUCCESS
The runtime has been loaded and debugging is supported by the library.
Definition: amd-dbgapi.h:5654
amd_dbgapi_address_space_alias_t
Indication of whether addresses in two address spaces may alias.
Definition: amd-dbgapi.h:4966
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_stop(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id) AMD_DBGAPI_VERSION_0_24
Request a wave to stop executing.
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARCHITECTURE_ID
The architecture handle is invalid.
Definition: amd-dbgapi.h:658
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_register_list(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, size_t *register_count, amd_dbgapi_register_id_t **registers) AMD_DBGAPI_VERSION_0_24
Report the list of registers supported by a wave.
@ AMD_DBGAPI_STATUS_ERROR_INVALID_EVENT_ID
The event handle is invalid.
Definition: amd-dbgapi.h:755
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_spaces_may_alias(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_address_space_id_t address_space_id1, amd_dbgapi_address_space_id_t address_space_id2, amd_dbgapi_address_space_alias_t *address_space_alias) AMD_DBGAPI_VERSION_0_24
Determine if an address in one address space may alias an address in another address space.
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS
The address is not within the shared library.
Definition: amd-dbgapi.h:788
@ AMD_DBGAPI_WAVE_CREATION_NORMAL
Normal wave creation allows new waves to be created.
Definition: amd-dbgapi.h:1718
@ AMD_DBGAPI_AGENT_INFO_ARCHITECTURE
Return the architecture of this agent.
Definition: amd-dbgapi.h:1999
amd_dbgapi_instruction_kind_t
The kinds of instruction classifications.
Definition: amd-dbgapi.h:1222
amd_dbgapi_status_t(* get_symbol_address)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_shared_library_id_t shared_library_id, const char *symbol_name, amd_dbgapi_global_address_t *address)
Return the address of a symbol in a shared library.
Definition: amd-dbgapi.h:6215
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_resume(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode) AMD_DBGAPI_VERSION_0_24
Resume execution of a stopped wave.
amd_dbgapi_queue_error_reason_t
A bit mask of the reasons that a queue is in error.
Definition: amd-dbgapi.h:2334
@ AMD_DBGAPI_ARCHITECTURE_INFO_NAME
Return the architecture name.
Definition: amd-dbgapi.h:989
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_read_register(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24
Read a register.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_read_memory(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_30
Read memory.
@ AMD_DBGAPI_PROGRESS_NORMAL
Normal progress is needed.
Definition: amd-dbgapi.h:1649
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_prefetch_register(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_24
Prefetch register values.
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_SIZE
Return the breakpoint instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1013
amd_dbgapi_resume_mode_t
The mode in which to resuming the execution of a wave.
Definition: amd-dbgapi.h:3255
Opaque wave handle.
Definition: amd-dbgapi.h:2739
@ AMD_DBGAPI_AGENT_INFO_COMPUTE_UNIT_COUNT
Number of compute units available in the agent.
Definition: amd-dbgapi.h:2023
amd_dbgapi_status_t(* enable_notify_shared_library)(amd_dbgapi_client_process_id_t client_process_id, const char *shared_library_name, amd_dbgapi_shared_library_id_t shared_library_id, amd_dbgapi_shared_library_state_t *shared_library_state)
Request to be notified when a shared library is loaded and unloaded.
Definition: amd-dbgapi.h:6152
@ AMD_DBGAPI_INSTRUCTION_KIND_BARRIER
The instruction performs some kind of execution barrier which may result in the wave being halted unt...
Definition: amd-dbgapi.h:1304
@ AMD_DBGAPI_EVENT_INFO_CLIENT_THREAD
Return the client thread of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:5695
@ AMD_DBGAPI_STATUS_ERROR_INVALID_WATCHPOINT_ID
The watchpoint handle is invalid.
Definition: amd-dbgapi.h:719
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_DISPATCH_CONSTANT
The address space is only read the waves of a kernel dispatch.
Definition: amd-dbgapi.h:4799
@ AMD_DBGAPI_WAVE_STOP_REASON_WATCHPOINT
The wave stopped due to triggering a data watchpoint.
Definition: amd-dbgapi.h:2953
@ AMD_DBGAPI_BREAKPOINT_ACTION_RESUME
Resume execution.
Definition: amd-dbgapi.h:5980
Opaque breakpoint handle.
Definition: amd-dbgapi.h:5963
@ AMD_DBGAPI_RUNTIME_STATE_LOADED_ERROR_RESTRICTION
The runtime has been loaded but there is a restriction error that prevents debugging the process.
Definition: amd-dbgapi.h:5664
#define AMD_DBGAPI_VERSION_0_30
The function was introduced in version 0.30 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:469
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_address_space_list(amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count, amd_dbgapi_address_space_id_t **address_spaces) AMD_DBGAPI_VERSION_0_24
Report the list of address spaces supported by the architecture.
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_PC_ADJUST
Return the number of bytes to subtract from the PC after stopping due to a breakpoint instruction to ...
Definition: amd-dbgapi.h:1027
@ AMD_DBGAPI_STATUS_ERROR_INVALID_QUEUE_ID
The queue handle is invalid.
Definition: amd-dbgapi.h:682
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_code_object_get_info(amd_dbgapi_process_id_t process_id, amd_dbgapi_code_object_id_t code_object_id, amd_dbgapi_code_object_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24
Query information about a code object.
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_UNDERFLOW
The wave stopped due to triggering an enabled floating point underflow exception.
Definition: amd-dbgapi.h:2989
uint64_t handle
Definition: amd-dbgapi.h:2500
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_agent_get_info(amd_dbgapi_process_id_t process_id, amd_dbgapi_agent_id_t agent_id, amd_dbgapi_agent_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24
Query information about an agent.
amd_dbgapi_status_t(* disable_notify_shared_library)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_shared_library_id_t shared_library_id)
Request to stop being notified for a shared library previously set by amd_dbgapi_callbacks_s::enable_...
Definition: amd-dbgapi.h:6180
@ AMD_DBGAPI_WAVE_STOP_REASON_FATAL_HALT
The wave stopped after causing a hardware fatal halt.
Definition: amd-dbgapi.h:3098
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_code_object_list(amd_dbgapi_process_id_t process_id, size_t *code_object_count, amd_dbgapi_code_object_id_t **code_objects, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_24
Return the list of loaded code objects for a process.
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_AGENT
There is a fence with agent memory scope.
Definition: amd-dbgapi.h:2670
Opaque code object handle.
Definition: amd-dbgapi.h:1780
@ AMD_DBGAPI_CHANGED_YES
The value has changed.
Definition: amd-dbgapi.h:524
amd_dbgapi_changed_t
Indication of if a value has changed.
Definition: amd-dbgapi.h:516
uint64_t handle
Definition: amd-dbgapi.h:966
uint64_t handle
Definition: amd-dbgapi.h:5964
@ AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_CLASS_ID
The register class handle is invalid.
Definition: amd-dbgapi.h:727
amd_dbgapi_runtime_state_t
Inferior runtime state.
Definition: amd-dbgapi.h:5650
@ AMD_DBGAPI_DISPATCH_INFO_AGENT
Return the agent to which this queue belongs.
Definition: amd-dbgapi.h:2526
void(* log_message)(amd_dbgapi_log_level_t level, const char *message)
Report a log message.
Definition: amd-dbgapi.h:6315
amd_dbgapi_queue_state_t
Queue state.
Definition: amd-dbgapi.h:2315
amd_dbgapi_watchpoint_id_t * watchpoint_ids
Definition: amd-dbgapi.h:3721
amd_dbgapi_address_class_info_t
Source language address class queries that are supported by amd_dbgapi_architecture_address_class_get...
Definition: amd-dbgapi.h:4599
@ AMD_DBGAPI_LOG_LEVEL_FATAL_ERROR
Print fatal error messages.
Definition: amd-dbgapi.h:5817
@ AMD_DBGAPI_DISPATCH_INFO_GRID_DIMENSIONS
Return the dispatch grid dimensionality.
Definition: amd-dbgapi.h:2556
amd_dbgapi_address_class_state_t
Indication of whether a segment address in an address space is a member of an source language address...
Definition: amd-dbgapi.h:5132
@ AMD_DBGAPI_DISPATCH_INFO_PRIVATE_SEGMENT_SIZE
Return the dispatch private segment size in bytes.
Definition: amd-dbgapi.h:2571
@ AMD_DBGAPI_CHANGED_NO
The value has not changed.
Definition: amd-dbgapi.h:520
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_remove_watchpoint(amd_dbgapi_process_id_t process_id, amd_dbgapi_watchpoint_id_t watchpoint_id) AMD_DBGAPI_VERSION_0_24
Remove a hardware data watchpoint previously set by amd_dbgapi_set_watchpoint.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_write_memory(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_30
Write memory.
@ AMD_DBGAPI_INSTRUCTION_KIND_TERMINATE
The instruction terminates the wave execution.
Definition: amd-dbgapi.h:1278
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_register_is_in_register_class(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_register_class_id_t register_class_id, amd_dbgapi_register_class_state_t *register_class_state) AMD_DBGAPI_VERSION_0_24
Determine if a register is a member of a register class.
@ AMD_DBGAPI_WAVE_STOP_REASON_RESERVED
A reserved value only present to ensure that the underlying representation of this enumeration type i...
Definition: amd-dbgapi.h:3112
@ AMD_DBGAPI_DISPATCH_INFO_GRID_SIZES
Return the dispatch grid size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:2566
@ AMD_DBGAPI_QUEUE_STATE_VALID
Queue is in a valid state.
Definition: amd-dbgapi.h:2319
const char AMD_DBGAPI * amd_dbgapi_get_build_name(void) AMD_DBGAPI_VERSION_0_24
Query the installed library build name.
@ AMD_DBGAPI_STATUS_ERROR_INVALID_LANE_ID
The lane handle is invalid.
Definition: amd-dbgapi.h:735
@ AMD_DBGAPI_QUEUE_ERROR_REASON_INVALID_PACKET
A packet on the queue is invalid.
Definition: amd-dbgapi.h:2342
@ AMD_DBGAPI_WAVE_INFO_PC
Return the current program counter value of the wave.
Definition: amd-dbgapi.h:2814
@ AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED
The library is not initialized.
Definition: amd-dbgapi.h:634
@ AMD_DBGAPI_STATUS_ERROR_INVALID_CLIENT_PROCESS_ID
The client process handle is invalid.
Definition: amd-dbgapi.h:771
@ AMD_DBGAPI_WAVE_INFO_WATCHPOINTS
Return the watchpoint(s) the wave triggered.
Definition: amd-dbgapi.h:2780
@ AMD_DBGAPI_ADDRESS_CLASS_STATE_MEMBER
The segment address in the address space is a member of the source language address class.
Definition: amd-dbgapi.h:5142
amd_dbgapi_queue_type_t
Queue type.
Definition: amd-dbgapi.h:2251
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_set_wave_creation(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_creation_t creation) AMD_DBGAPI_VERSION_0_24
Set the wave creation mode for a process.
@ AMD_DBGAPI_WAVE_INFO_DISPATCH
Return the dispatch to which this wave belongs.
Definition: amd-dbgapi.h:2791
@ AMD_DBGAPI_RESUME_MODE_SINGLE_STEP
Resume execution in in single step mode.
Definition: amd-dbgapi.h:3263
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_NONE
There is no fence.
Definition: amd-dbgapi.h:2666
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_address_class_get_info(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_address_class_id_t address_class_id, amd_dbgapi_address_class_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24
Query information about a source language address class of an architecture.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_convert_address_space(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t source_address_space_id, amd_dbgapi_segment_address_t source_segment_address, amd_dbgapi_address_space_id_t destination_address_space_id, amd_dbgapi_segment_address_t *destination_segment_address) AMD_DBGAPI_VERSION_0_24
Convert a source segment address in the source address space into a destination segment address in th...
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_is_in_address_class(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_address_class_id_t address_class_id, amd_dbgapi_address_class_state_t *address_class_state) AMD_DBGAPI_VERSION_0_24
Determine if a segment address in an address space is a member of a source language address class.
@ AMD_DBGAPI_CODE_OBJECT_INFO_URI_NAME
The URI name of the ELF shared object from which the code object was loaded.
Definition: amd-dbgapi.h:1845
uint64_t handle
Definition: amd-dbgapi.h:5500
@ AMD_DBGAPI_QUEUE_INFO_STATE
Return the queue state.
Definition: amd-dbgapi.h:2188
@ AMD_DBGAPI_EVENT_INFO_KIND
Return the event kind.
Definition: amd-dbgapi.h:5679
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_report_breakpoint_hit(amd_dbgapi_process_id_t process_id, amd_dbgapi_breakpoint_id_t breakpoint_id, amd_dbgapi_client_thread_id_t client_thread_id, amd_dbgapi_breakpoint_action_t *breakpoint_action) AMD_DBGAPI_VERSION_0_24
Report that a breakpoint inserted by the amd_dbgapi_callbacks_s::insert_breakpoint calback has been h...
@ AMD_DBGAPI_PROGRESS_NO_FORWARD
No forward progress is needed.
Definition: amd-dbgapi.h:1673
@ AMD_DBGAPI_WAVE_STOP_REASON_XNACK_ERROR
The wave stopped with an XNACK error.
Definition: amd-dbgapi.h:3107
uint64_t handle
Definition: amd-dbgapi.h:4764
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_class_list(amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count, amd_dbgapi_register_class_id_t **register_classes) AMD_DBGAPI_VERSION_0_24
Report the list of register classes supported by the architecture.
Opaque shared library handle.
Definition: amd-dbgapi.h:5878
@ AMD_DBGAPI_WAVE_INFO_AGENT
Return the agent to which this wave belongs.
Definition: amd-dbgapi.h:2803
@ AMD_DBGAPI_WAVE_INFO_ARCHITECTURE
Return the architecture of this wave.
Definition: amd-dbgapi.h:2808
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_register_get_info(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_register_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24
Query information about a register of a wave.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dwarf_register_to_register(amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register, amd_dbgapi_register_id_t *register_id) AMD_DBGAPI_VERSION_0_24
Return a register handle from an AMD GPU DWARF register number.
@ AMD_DBGAPI_ADDRESS_CLASS_INFO_NAME
Return the source language address class name.
Definition: amd-dbgapi.h:4606
uint64_t handle
Definition: amd-dbgapi.h:1781
amd_dbgapi_process_info_t
Process queries that are supported by amd_dbgapi_process_get_info.
Definition: amd-dbgapi.h:1442
void AMD_DBGAPI amd_dbgapi_set_log_level(amd_dbgapi_log_level_t level) AMD_DBGAPI_VERSION_0_24
Set the logging level.
@ AMD_DBGAPI_QUEUE_TYPE_UNKNOWN
Unknown queue type.
Definition: amd-dbgapi.h:2255
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_ALL
The address space supports all accesses.
Definition: amd-dbgapi.h:4789
uint64_t amd_dbgapi_segment_address_t
Each address space has its own linear address to access it termed a segment address.
Definition: amd-dbgapi.h:5041
#define AMD_DBGAPI
Definition: amd-dbgapi.h:429
@ AMD_DBGAPI_STATUS_ERROR_WAVE_STOPPED
The wave is stopped.
Definition: amd-dbgapi.h:698
@ AMD_DBGAPI_WAVE_INFO_LANE_COUNT
The number of lanes supported by the wave.
Definition: amd-dbgapi.h:2840
amd_dbgapi_status_t(* remove_breakpoint)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_breakpoint_id_t breakpoint_id)
Remove a breakpoint previously inserted by amd_dbgapi_callbacks_s::insert_breakpoint.
Definition: amd-dbgapi.h:6303
@ AMD_DBGAPI_DISPATCH_INFO_RELEASE_FENCE
Return the dispatch release fence.
Definition: amd-dbgapi.h:2551
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_INEXACT
The wave stopped due to triggering an enabled floating point inexact exception.
Definition: amd-dbgapi.h:2994
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize(void) AMD_DBGAPI_VERSION_0_24
Finalize the library.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_address_class_list(amd_dbgapi_architecture_id_t architecture_id, size_t *address_class_count, amd_dbgapi_address_class_id_t **address_classes) AMD_DBGAPI_VERSION_0_24
Report the list of source language address classes supported by the architecture.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_classify_instruction(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size, const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind, void **instruction_properties) AMD_DBGAPI_VERSION_0_24
Classify a single instruction.
@ AMD_DBGAPI_WAVE_STOP_REASON_SINGLE_STEP
The wave stopped due to completing an instruction single-step.
Definition: amd-dbgapi.h:2957
@ AMD_DBGAPI_INSTRUCTION_KIND_SPECIAL
The instruction has some form of special behavior not covered by any of the other instruction kinds.
Definition: amd-dbgapi.h:1319
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_watchpoint(amd_dbgapi_process_id_t process_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t size, amd_dbgapi_watchpoint_kind_t kind, amd_dbgapi_watchpoint_id_t *watchpoint_id, amd_dbgapi_global_address_t *watchpoint_address, amd_dbgapi_size_t *watchpoint_size) AMD_DBGAPI_VERSION_0_24
Set a hardware data watchpoint.
amd_dbgapi_code_object_info_t
Code object queries that are supported by amd_dbgapi_code_object_get_info.
Definition: amd-dbgapi.h:1796
@ AMD_DBGAPI_AGENT_INFO_SHADER_ENGINE_COUNT
The number of Shader Engines (SE) in the agent.
Definition: amd-dbgapi.h:2018
@ AMD_DBGAPI_DISPATCH_INFO_WORK_GROUP_SIZES
Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:2561
@ AMD_DBGAPI_WAVE_STOP_REASON_DEBUG_TRAP
The wave stopped due to executing a debug trap instruction.
Definition: amd-dbgapi.h:3019
@ AMD_DBGAPI_REGISTER_INFO_TYPE
Return the register type as a C style type string.
Definition: amd-dbgapi.h:4035
amd_dbgapi_queue_info_t
Queue queries that are supported by amd_dbgapi_queue_get_info.
Definition: amd-dbgapi.h:2168
amd_dbgapi_register_class_info_t
Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info.
Definition: amd-dbgapi.h:3864
@ AMD_DBGAPI_AGENT_INFO_PCI_VENDOR_ID
PCI vendor ID of the agent.
Definition: amd-dbgapi.h:2009
uint64_t amd_dbgapi_queue_packet_id_t
Queue packet ID.
Definition: amd-dbgapi.h:2420
@ AMD_DBGAPI_STATUS_ERROR_INVALID_DISPATCH_ID
The dispatch handle is invalid.
Definition: amd-dbgapi.h:686
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_initialize(amd_dbgapi_callbacks_t *callbacks) AMD_DBGAPI_VERSION_0_30
Initialize the library.
@ AMD_DBGAPI_WAVE_STOP_REASON_MEMORY_VIOLATION
The wave stopped due to triggering a memory violation.
Definition: amd-dbgapi.h:3064
amd_dbgapi_address_space_access_t
Indication of how the address space is accessed.
Definition: amd-dbgapi.h:4784
@ AMD_DBGAPI_ARCHITECTURE_INFO_PC_REGISTER
Return the register handle for the PC for the architecture.
Definition: amd-dbgapi.h:1032
@ AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK
A callback to the client reported an error.
Definition: amd-dbgapi.h:767
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_get_info(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_architecture_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_30
Query information about an architecture.
@ AMD_DBGAPI_QUEUE_INFO_ARCHITECTURE
Return the architecture of this queue.
Definition: amd-dbgapi.h:2178
@ AMD_DBGAPI_MEMORY_PRECISION_NONE
Memory instructions execute normally and a wave does not wait for the memory access to complete.
Definition: amd-dbgapi.h:5417
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_list(amd_dbgapi_architecture_id_t architecture_id, size_t *register_count, amd_dbgapi_register_id_t **registers) AMD_DBGAPI_VERSION_0_24
Report the list of registers supported by the architecture.
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ELF_AMDGPU_MACHINE
The ELF AMD GPU machine value is invalid or unsupported.
Definition: amd-dbgapi.h:670
@ AMD_DBGAPI_DISPATCH_BARRIER_NONE
Dispatch has no barrier.
Definition: amd-dbgapi.h:2647
amd_dbgapi_status_t(* get_os_pid)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_os_pid_t *os_pid)
Return the native operating system process handle for the process identified by the client process ha...
Definition: amd-dbgapi.h:6114
@ AMD_DBGAPI_PROCESS_INFO_PRECISE_MEMORY_SUPPORTED
Return if the architectures of all the agents of a process support controlling memory precision.
Definition: amd-dbgapi.h:1465
@ AMD_DBGAPI_STATUS_ERROR_UNIMPLEMENTED
The operation is not currently implemented.
Definition: amd-dbgapi.h:614
@ AMD_DBGAPI_WAVE_STATE_SINGLE_STEP
The wave is running in single-step mode.
Definition: amd-dbgapi.h:2907
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_queue_get_info(amd_dbgapi_process_id_t process_id, amd_dbgapi_queue_id_t queue_id, amd_dbgapi_queue_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24
Query information about a queue.
@ AMD_DBGAPI_REGISTER_CLASS_STATE_NOT_MEMBER
The register is not a member of the register class.
Definition: amd-dbgapi.h:4279
amd_dbgapi_address_space_info_t
Address space queries that are supported by amd_dbgapi_address_space_get_info.
Definition: amd-dbgapi.h:4810
@ AMD_DBGAPI_DISPATCH_INFO_ACQUIRE_FENCE
Return the dispatch acquire fence.
Definition: amd-dbgapi.h:2546
Opaque event handle.
Definition: amd-dbgapi.h:5499
@ AMD_DBGAPI_REGISTER_INFO_NAME
Return the register name.
Definition: amd-dbgapi.h:4003
@ AMD_DBGAPI_WAVE_STOP_REASON_TRAP
The wave stopped due to executing an trap instruction other than the AMD_DBGAPI_WAVE_STOP_REASON_DEBU...
Definition: amd-dbgapi.h:3049
@ AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_COUNT
Return the number of data watchpoints supported by the process.
Definition: amd-dbgapi.h:1453
struct amd_dbgapi_symbolizer_id_s * amd_dbgapi_symbolizer_id_t
Opaque client symbolizer handle.
Definition: amd-dbgapi.h:1115
@ AMD_DBGAPI_EVENT_INFO_WAVE
Return the wave of a AMD_DBGAPI_EVENT_KIND_WAVE_STOP or AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED...
Definition: amd-dbgapi.h:5685
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dispatch_get_info(amd_dbgapi_process_id_t process_id, amd_dbgapi_dispatch_id_t dispatch_id, amd_dbgapi_dispatch_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24
Query information about a dispatch.
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_ACCESS
Return the address space access.
Definition: amd-dbgapi.h:4832
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_disassemble_instruction(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size, const void *memory, char **instruction_text, amd_dbgapi_symbolizer_id_t symbolizer_id, amd_dbgapi_status_t(*symbolizer)(amd_dbgapi_symbolizer_id_t symbolizer_id, amd_dbgapi_global_address_t address, char **symbol_text)) AMD_DBGAPI_VERSION_0_30
Disassemble a single instruction.
uint64_t handle
Definition: amd-dbgapi.h:2740
@ AMD_DBGAPI_STATUS_ERROR_SYMBOL_NOT_FOUND
The symbol was not found.
Definition: amd-dbgapi.h:784
@ AMD_DBGAPI_DISPATCH_INFO_GROUP_SEGMENT_SIZE
Return the dispatch group segment size in bytes.
Definition: amd-dbgapi.h:2576
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dwarf_address_space_to_address_space(amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space, amd_dbgapi_address_space_id_t *address_space_id) AMD_DBGAPI_VERSION_0_24
Return the address space from an AMD GPU DWARF address space number.
@ AMD_DBGAPI_STATUS_ERROR_MEMORY_ACCESS
An error occurred while trying to access memory in the inferior.
Definition: amd-dbgapi.h:747
@ AMD_DBGAPI_EVENT_KIND_RUNTIME
The runtime support in the inferior has been loaded or unloaded.
Definition: amd-dbgapi.h:5574
@ AMD_DBGAPI_AGENT_INFO_PCI_SLOT
PCI slot of the agent in BDF format (see [Bus:Device.Function (BDF) Notation][bfd].
Definition: amd-dbgapi.h:2005
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_queue_packet_list(amd_dbgapi_process_id_t process_id, amd_dbgapi_queue_id_t queue_id, amd_dbgapi_queue_packet_id_t *first_packet_id, amd_dbgapi_size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_24
Return the packets for a queue of a process.
@ AMD_DBGAPI_WATCHPOINT_KIND_STORE_AND_RMW
Write access by store instructions or read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:3700
@ AMD_DBGAPI_DISPATCH_BARRIER_PRESENT
Dispatch has a barrier.
Definition: amd-dbgapi.h:2652
amd_dbgapi_progress_t
The kinds of progress supported by the library.
Definition: amd-dbgapi.h:1643
uint64_t handle
Definition: amd-dbgapi.h:2153
amd_dbgapi_event_kind_t
The event kinds.
Definition: amd-dbgapi.h:5512
@ AMD_DBGAPI_RUNTIME_STATE_UNLOADED
The runtime has been unloaded.
Definition: amd-dbgapi.h:5658
@ AMD_DBGAPI_WATCHPOINT_KIND_ALL
Read, write, or read-modify-write access by load, store, or atomic instructions.
Definition: amd-dbgapi.h:3709
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH
The instruction unconditionally branches to a literal address.
Definition: amd-dbgapi.h:1239
@ AMD_DBGAPI_WAVE_INFO_STATE
Return the wave's state.
Definition: amd-dbgapi.h:2760
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_ADDRESS_SIZE
Return the byte size of an address in the address space.
Definition: amd-dbgapi.h:4822
@ AMD_DBGAPI_WAVE_CREATION_STOP
Stop wave creation prevents new waves from being created.
Definition: amd-dbgapi.h:1722
@ AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR
An event has occurred that is causing the queue to enter the error state.
Definition: amd-dbgapi.h:5610
@ AMD_DBGAPI_QUEUE_TYPE_AMD_SDMA
Queue supports the AMD SDMA protocol.
Definition: amd-dbgapi.h:2304
int amd_dbgapi_notifier_t
Type used to notify the client of the library that a process may have pending events.
Definition: amd-dbgapi.h:562
@ AMD_DBGAPI_WATCHPOINT_KIND_RMW
Read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:3704
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT_SIZE
An invalid size was given to the function.
Definition: amd-dbgapi.h:626
amd_dbgapi_status_t
AMD debugger API status codes.
Definition: amd-dbgapi.h:578
@ AMD_DBGAPI_STATUS_ERROR_NO_WATCHPOINT_AVAILABLE
No more watchpoints available.
Definition: amd-dbgapi.h:723
@ AMD_DBGAPI_REGISTER_INFO_SIZE
Return the size of the register in bytes.
Definition: amd-dbgapi.h:4013
uint64_t amd_dbgapi_size_t
Integral type used for sizes, including memory allocations, in the inferior.
Definition: amd-dbgapi.h:510
@ AMD_DBGAPI_DISPATCH_INFO_PACKET_ID
Return the queue packet ID of the dispatch packet that initiated the dispatch.
Definition: amd-dbgapi.h:2536
@ AMD_DBGAPI_STATUS_ERROR_INVALID_WAVE_ID
The wave handle is invalid.
Definition: amd-dbgapi.h:690
@ AMD_DBGAPI_EVENT_KIND_CODE_OBJECT_LIST_UPDATED
The list of code objects has changed.
Definition: amd-dbgapi.h:5551
@ AMD_DBGAPI_WAVE_STATE_STOP
The wave is stopped.
Definition: amd-dbgapi.h:2920
Opaque queue handle.
Definition: amd-dbgapi.h:2152
@ AMD_DBGAPI_REGISTER_CLASS_INFO_NAME
Return the register class name.
Definition: amd-dbgapi.h:3871
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_next_pending_event(amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id, amd_dbgapi_event_kind_t *kind) AMD_DBGAPI_VERSION_0_24
Obtain the next pending event for a process.
amd_dbgapi_status_t(* insert_breakpoint)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_shared_library_id_t shared_library_id, amd_dbgapi_global_address_t address, amd_dbgapi_breakpoint_id_t breakpoint_id)
Insert a breakpoint in a shared library using a global address.
Definition: amd-dbgapi.h:6267
@ AMD_DBGAPI_BREAKPOINT_ACTION_HALT
Leave execution halted.
Definition: amd-dbgapi.h:5984
@ AMD_DBGAPI_LOG_LEVEL_INFO
Print fatal error, warning, and info messages.
Definition: amd-dbgapi.h:5825
@ AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_CALL_REGISTER_PAIRS
The instruction unconditionally branches to an address held in a pair of source registers and the add...
Definition: amd-dbgapi.h:1273
uint64_t amd_dbgapi_global_address_t
Integral type used for a global virtual memory address in the inferior process.
Definition: amd-dbgapi.h:505
@ AMD_DBGAPI_DISPATCH_INFO_BARRIER
Return the dispatch barrier setting.
Definition: amd-dbgapi.h:2541
pid_t amd_dbgapi_os_pid_t
Native operating system process id.
Definition: amd-dbgapi.h:535
@ AMD_DBGAPI_ADDRESS_SPACE_ALIAS_NONE
No addresses in the address spaces can alias.
Definition: amd-dbgapi.h:4970
@ AMD_DBGAPI_SHARED_LIBRARY_STATE_LOADED
The shared library is loaded.
Definition: amd-dbgapi.h:5890
@ AMD_DBGAPI_WAVE_STOP_REASON_ECC_ERROR
The wave stopped due to detecting an unrecoverable ECC error.
Definition: amd-dbgapi.h:3089
@ AMD_DBGAPI_MEMORY_PRECISION_PRECISE
A wave waits for memory instructions to complete before executing further instructions.
Definition: amd-dbgapi.h:5422
@ AMD_DBGAPI_QUEUE_TYPE_AMD_SDMA_XGMI
Queue supports the AMD SDMA XGMI protocol.
Definition: amd-dbgapi.h:2308
@ AMD_DBGAPI_AGENT_INFO_NAME
Agent name.
Definition: amd-dbgapi.h:1994
void AMD_DBGAPI amd_dbgapi_get_version(uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_24
Query the version of the installed library.
@ AMD_DBGAPI_DISPATCH_INFO_ARCHITECTURE
Return the architecture of this dispatch.
Definition: amd-dbgapi.h:2531
Callbacks that the client of the library must provide.
Definition: amd-dbgapi.h:6054
@ AMD_DBGAPI_WAVE_INFO_WORK_GROUP_COORD
The wave workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:2828
@ AMD_DBGAPI_STATUS_ERROR_LIBRARY_NOT_LOADED
The shared library is not currently loaded.
Definition: amd-dbgapi.h:780
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_report_shared_library(amd_dbgapi_process_id_t process_id, amd_dbgapi_shared_library_id_t shared_library_id, amd_dbgapi_shared_library_state_t shared_library_state) AMD_DBGAPI_VERSION_0_24
Report that a shared library enabled by the amd_dbgapi_callbacks_s::enable_notify_shared_library call...
Opaque process handle.
Definition: amd-dbgapi.h:1426
@ AMD_DBGAPI_STATUS_ERROR_RESTRICTION
There is a restriction error that prevents debugging the process.
Definition: amd-dbgapi.h:650
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_event_get_info(amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t event_id, amd_dbgapi_event_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_30
Query information about an event.
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_NAME
Return the address space name.
Definition: amd-dbgapi.h:4817
@ AMD_DBGAPI_QUEUE_TYPE_HSA_KERNEL_DISPATCH_SINGLE_PRODUCER
Queue supports the HSA kernel dispatch with single producer protocol.
Definition: amd-dbgapi.h:2286
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_get_info(amd_dbgapi_process_id_t process_id, amd_dbgapi_process_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_24
Query information about a process.
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_INPUT_DENORMAL
The wave stopped due to triggering an enabled floating point input denormal exception.
Definition: amd-dbgapi.h:2974
@ AMD_DBGAPI_WAVE_STOP_REASON_BREAKPOINT
The wave stopped due to executing a breakpoint instruction.
Definition: amd-dbgapi.h:2941
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_OVERFLOW
The wave stopped due to triggering an enabled floating point overflow exception.
Definition: amd-dbgapi.h:2984
@ AMD_DBGAPI_PROCESS_INFO_NOTIFIER
The notifier for the process that indicates if pending events are available.
Definition: amd-dbgapi.h:1447
@ AMD_DBGAPI_QUEUE_TYPE
Return the queue type.
Definition: amd-dbgapi.h:2183
@ AMD_DBGAPI_STATUS_ERROR_INVALID_SHARED_LIBRARY_ID
The shared library handle is invalid.
Definition: amd-dbgapi.h:759
@ AMD_DBGAPI_INSTRUCTION_KIND_HALT
The instruction unconditionally halts the wave.
Definition: amd-dbgapi.h:1297
@ AMD_DBGAPI_EVENT_INFO_BREAKPOINT
Return the breakpoint of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:5690
@ AMD_DBGAPI_INSTRUCTION_KIND_SEQUENTIAL
The instruction executes sequentially.
Definition: amd-dbgapi.h:1233
@ AMD_DBGAPI_STATUS_ERROR_INVALID_DISPLACED_STEPPING_ID
The displaced stepping handle is invalid.
Definition: amd-dbgapi.h:710
@ AMD_DBGAPI_STATUS_ERROR
A generic error has occurred.
Definition: amd-dbgapi.h:586
@ AMD_DBGAPI_QUEUE_ERROR_REASON_ASSERT_TRAP
A wave on the queue had an assert trap.
Definition: amd-dbgapi.h:2350
@ AMD_DBGAPI_STATUS_ERROR_ALREADY_ATTACHED
The process is already attached to the given inferior process.
Definition: amd-dbgapi.h:654
amd_dbgapi_memory_precision_t
Memory access precision.
Definition: amd-dbgapi.h:5412
@ AMD_DBGAPI_ADDRESS_CLASS_INFO_ADDRESS_SPACE
Return the architecture specific address space that is used to implement a pointer or reference to th...
Definition: amd-dbgapi.h:4615
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_agent_list(amd_dbgapi_process_id_t process_id, size_t *agent_count, amd_dbgapi_agent_id_t **agents, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_24
Return the list of agents for a process.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dwarf_address_class_to_address_class(amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_class, amd_dbgapi_address_class_id_t *address_class_id) AMD_DBGAPI_VERSION_0_24
Return the architecture source language address class from a DWARF address class number.
@ AMD_DBGAPI_INSTRUCTION_KIND_SLEEP
The instruction causes the wave to stop executing for some period of time, before continuing executio...
Definition: amd-dbgapi.h:1310
@ AMD_DBGAPI_QUEUE_TYPE_HSA_KERNEL_DISPATCH_MULTIPLE_PRODUCER
Queue supports the HSA kernel dispatch with multiple producers protocol.
Definition: amd-dbgapi.h:2270
@ AMD_DBGAPI_ARCHITECTURE_INFO_LARGEST_INSTRUCTION_SIZE
Return the largest instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1002
void(* deallocate_memory)(void *data)
Deallocate memory that was allocated by amd_dbgapi_callbacks_s::allocate_memory.
Definition: amd-dbgapi.h:6085
@ AMD_DBGAPI_WAVE_INFO_EXEC_MASK
Return the current execution mask of the wave.
Definition: amd-dbgapi.h:2822
@ AMD_DBGAPI_STATUS_SUCCESS
The function has executed successfully.
Definition: amd-dbgapi.h:582
@ AMD_DBGAPI_STATUS_ERROR_ALREADY_INITIALIZED
The library is already initialized.
Definition: amd-dbgapi.h:630
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_CLASS_ID
The address class handle is invalid.
Definition: amd-dbgapi.h:739
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_detach(amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_24
Detach from a process and no longer have debug control of the AMD GPU devices it uses.
@ AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME
Request to resume a host breakpoint.
Definition: amd-dbgapi.h:5564
amd_dbgapi_wave_state_t
The execution state of a wave.
Definition: amd-dbgapi.h:2898
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_memory_precision(amd_dbgapi_process_id_t process_id, amd_dbgapi_memory_precision_t memory_precision) AMD_DBGAPI_VERSION_0_24
Control precision of memory access reporting.
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_ARGUMENT_SEGMENT_ADDRESS
Return the dispatch kernel argument segment address.
Definition: amd-dbgapi.h:2581
@ AMD_DBGAPI_QUEUE_INFO_ERROR_REASON
Return the reason the queue is in error as a bit set.
Definition: amd-dbgapi.h:2195
@ AMD_DBGAPI_REGISTER_CLASS_STATE_MEMBER
The register is a member of the register class.
Definition: amd-dbgapi.h:4283
Opaque register handle.
Definition: amd-dbgapi.h:3977
@ AMD_DBGAPI_LOG_LEVEL_WARNING
Print fatal error and warning messages.
Definition: amd-dbgapi.h:5821
amd_dbgapi_event_info_t
Event queries that are supported by amd_dbgapi_event_get_info.
Definition: amd-dbgapi.h:5674
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_space_get_info(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_address_space_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_30
Query information about an address space.
uint64_t handle
Definition: amd-dbgapi.h:1973