AMD_DBGAPI: include/amd-dbgapi/amd-dbgapi.h File Reference

AMD_DBGAPI 0.77.4

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
amd-dbgapi.h File Reference

AMD debugger API interface. More...

`#include <sys/types.h>`
`#include <stddef.h>`
`#include <stdint.h>`
Include dependency graph for amd-dbgapi.h:

Go to the source code of this file.

## Data Structures
struct | amd_dbgapi_architecture_id_t
| Opaque architecture handle. More...
struct | amd_dbgapi_process_id_t
| Opaque process handle. More...
struct | amd_dbgapi_core_state_data_t
| AMDGPU corefile state data for a process. More...
struct | amd_dbgapi_code_object_id_t
| Opaque code object handle. More...
struct | amd_dbgapi_agent_id_t
| Opaque agent handle. More...
struct | amd_dbgapi_queue_id_t
| Opaque queue handle. More...
struct | amd_dbgapi_dispatch_id_t
| Opaque dispatch handle. More...
struct | amd_dbgapi_workgroup_id_t
| Opaque workgroup handle. More...
struct | amd_dbgapi_wave_id_t
| Opaque wave handle. More...
struct | amd_dbgapi_displaced_stepping_id_t
| Opaque displaced stepping handle. More...
struct | amd_dbgapi_watchpoint_id_t
| Opaque hardware data watchpoint handle. More...
struct | amd_dbgapi_watchpoint_list_t
| A set of watchpoints. More...
struct | amd_dbgapi_register_class_id_t
| Opaque register class handle. More...
struct | amd_dbgapi_register_id_t
| Opaque register handle. More...
struct | amd_dbgapi_direct_call_register_pair_information_t
| Instruction information for direct call instructions. More...
struct | amd_dbgapi_address_class_id_t
| Opaque source language address class handle. More...
struct | amd_dbgapi_address_space_id_t
| Opaque address space handle. More...
struct | amd_dbgapi_event_id_t
| Opaque event handle. More...
struct | amd_dbgapi_breakpoint_id_t
| Opaque breakpoint handle. More...
struct | amd_dbgapi_callbacks_s
| Callbacks that the client of the library must provide. More...

## Macros
#define | AMD_DBGAPI_CALL
#define | AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL
#define | AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL
#define | AMD_DBGAPI AMD_DBGAPI_IMPORT
#define | AMD_DBGAPI_HANDLE_LITERAL(type, value) {value}
#define | DEPRECATED = AMD_DBGAPI_WAVE_STOP_REASON_ADDRESS_ERROR
| Old deprecated name kept for backward compatibility.
#define | AMD_DBGAPI_VERSION_0_54
| The function was introduced in version 0.54 of the interface and has the symbol version string of `"AMD_DBGAPI_0.54"`.
#define | AMD_DBGAPI_VERSION_0_56
| The function was introduced in version 0.56 of the interface and has the symbol version string of `"AMD_DBGAPI_0.56"`.
#define | AMD_DBGAPI_VERSION_0_58
| The function was introduced in version 0.58 of the interface and has the symbol version string of `"AMD_DBGAPI_0.58"`.
#define | AMD_DBGAPI_VERSION_0_62
| The function was introduced in version 0.62 of the interface and has the symbol version string of `"AMD_DBGAPI_0.62"`.
#define | AMD_DBGAPI_VERSION_0_64
| The function was introduced in version 0.64 of the interface and has the symbol version string of `"AMD_DBGAPI_0.64"`.
#define | AMD_DBGAPI_VERSION_0_67
| The function was introduced in version 0.67 of the interface and has the symbol version string of `"AMD_DBGAPI_0.67"`.
#define | AMD_DBGAPI_VERSION_0_68
| The function was introduced in version 0.68 of the interface and has the symbol version string of `"AMD_DBGAPI_0.68"`.
#define | AMD_DBGAPI_VERSION_0_70
| The function was introduced in version 0.70 of the interface and has the symbol version string of `"AMD_DBGAPI_0.70"`.
#define | AMD_DBGAPI_VERSION_0_76
| The function was introduced in version 0.76 of the interface and has the symbol version string of `"AMD_DBGAPI_0.76"`.
#define | AMD_DBGAPI_VERSION_0_77
| The function was introduced in version 0.77 of the interface and has the symbol version string of `"AMD_DBGAPI_0.77"`.
#define | AMD_DBGAPI_VERSION_MAJOR 0
| The semantic version of the interface following [semver.org][semver] rules.
#define | AMD_DBGAPI_VERSION_MINOR 77
| The minor version of the interface as a macro so it can be used by the preprocessor.
#define | AMD_DBGAPI_ARCHITECTURE_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_architecture_id_t, 0)
| The NULL architecture handle.
#define | AMD_DBGAPI_PROCESS_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_process_id_t, 0)
| The NULL process handle.
#define | AMD_DBGAPI_CODE_OBJECT_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_code_object_id_t, 0)
| The NULL code object handle.
#define | AMD_DBGAPI_AGENT_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_agent_id_t, 0)
| The NULL agent handle.
#define | AMD_DBGAPI_QUEUE_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_queue_id_t, 0)
| The NULL queue handle.
#define | AMD_DBGAPI_DISPATCH_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_dispatch_id_t, 0)
| The NULL dispatch handle.
#define | AMD_DBGAPI_WORKGROUP_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0)
| The NULL workgroup handle.
#define | AMD_DBGAPI_WAVE_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_wave_id_t, 0)
| The NULL wave handle.
#define | AMD_DBGAPI_DISPLACED_STEPPING_NONE (amd_dbgapi_displaced_stepping_id_t{ 0 })
| The NULL displaced stepping handle.
#define | AMD_DBGAPI_WATCHPOINT_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_watchpoint_id_t, 0)
| The NULL hardware data watchpoint handle.
#define | AMD_DBGAPI_REGISTER_CLASS_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_class_id_t, 0)
| The NULL register class handle.
#define | AMD_DBGAPI_REGISTER_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_id_t, 0)
| The NULL register handle.
#define | AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1))
| The NULL lane handle.
#define | AMD_DBGAPI_ADDRESS_CLASS_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_class_id_t, 0)
| The NULL address class handle.
#define | AMD_DBGAPI_ADDRESS_SPACE_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 0)
| The NULL address space handle.
#define | AMD_DBGAPI_ADDRESS_SPACE_GLOBAL AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 1)
| The global address space handle.
#define | AMD_DBGAPI_EVENT_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_event_id_t, 0)
| The NULL event handle.
#define | AMD_DBGAPI_BREAKPOINT_NONE AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0)
| The NULL breakpoint handle.

## Typedefs
typedef struct amd_dbgapi_callbacks_s | amd_dbgapi_callbacks_t
| Forward declaration of callbacks used to specify services that must be provided by the client.
typedef uint64_t | amd_dbgapi_global_address_t
| Integral type used for a global virtual memory address in the inferior process.
typedef uint64_t | amd_dbgapi_size_t
| Integral type used for sizes, including memory allocations, in the inferior.
typedef pid_t | amd_dbgapi_os_process_id_t
| Native operating system process ID.
typedef int | amd_dbgapi_notifier_t
| Type used to notify the client of the library that a process may have pending events.
typedef uint64_t | amd_dbgapi_os_agent_id_t
| Native operating system agent ID.
typedef uint64_t | amd_dbgapi_os_queue_id_t
| Native operating system queue ID.
typedef uint64_t | amd_dbgapi_os_queue_packet_id_t
| Native operating system queue packet ID.
typedef struct amd_dbgapi_symbolizer_id_s * | amd_dbgapi_symbolizer_id_t
| Opaque client symbolizer handle.
typedef struct amd_dbgapi_client_process_s * | amd_dbgapi_client_process_id_t
| Opaque client process handle.
typedef uint32_t | amd_dbgapi_lane_id_t
| A wave lane handle.
typedef uint64_t | amd_dbgapi_segment_address_t
| Each address space has its own linear address to access it termed a segment address.
typedef struct amd_dbgapi_client_thread_s * | amd_dbgapi_client_thread_id_t
| Opaque client thread handle.

## Enumerations
enum | amd_dbgapi_changed_t { AMD_DBGAPI_CHANGED_NO = 0 , AMD_DBGAPI_CHANGED_YES = 1 }
| Indication of if a value has changed. More...
enum | amd_dbgapi_os_queue_type_t { AMD_DBGAPI_OS_QUEUE_TYPE_UNKNOWN = 0 , AMD_DBGAPI_OS_QUEUE_TYPE_HSA_AQL = 1 , AMD_DBGAPI_OS_QUEUE_TYPE_AMD_PM4 = 257 , AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA = 513 , AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA_XGMI = 514 }
| Native operating system queue type. More...
enum | amd_dbgapi_status_t { AMD_DBGAPI_STATUS_SUCCESS = 0 , AMD_DBGAPI_STATUS_ERROR = -1 , AMD_DBGAPI_STATUS_FATAL = -2 , AMD_DBGAPI_STATUS_ERROR_NOT_IMPLEMENTED = -3 , AMD_DBGAPI_STATUS_ERROR_NOT_AVAILABLE = -4 , AMD_DBGAPI_STATUS_ERROR_NOT_SUPPORTED = -5 , AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT = -6 , AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT_COMPATIBILITY = -7 , AMD_DBGAPI_STATUS_ERROR_ALREADY_INITIALIZED = -8 , AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED = -9 , AMD_DBGAPI_STATUS_ERROR_RESTRICTION = -10 , AMD_DBGAPI_STATUS_ERROR_ALREADY_ATTACHED = -11 , AMD_DBGAPI_STATUS_ERROR_INVALID_ARCHITECTURE_ID = -12 , AMD_DBGAPI_STATUS_ERROR_ILLEGAL_INSTRUCTION = -13 , AMD_DBGAPI_STATUS_ERROR_INVALID_CODE_OBJECT_ID = -14 , AMD_DBGAPI_STATUS_ERROR_INVALID_ELF_AMDGPU_MACHINE = -15 , AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID = -16 , AMD_DBGAPI_STATUS_ERROR_PROCESS_EXITED = -17 , AMD_DBGAPI_STATUS_ERROR_INVALID_AGENT_ID = -18 , AMD_DBGAPI_STATUS_ERROR_INVALID_QUEUE_ID = -19 , AMD_DBGAPI_STATUS_ERROR_INVALID_DISPATCH_ID = -20 , AMD_DBGAPI_STATUS_ERROR_INVALID_WAVE_ID = -21 , AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_STOPPED = -22 , AMD_DBGAPI_STATUS_ERROR_WAVE_STOPPED = -23 , AMD_DBGAPI_STATUS_ERROR_WAVE_OUTSTANDING_STOP = -24 , AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_RESUMABLE = -25 , AMD_DBGAPI_STATUS_ERROR_INVALID_DISPLACED_STEPPING_ID = -26 , AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_BUFFER_NOT_AVAILABLE = -27 , AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_ACTIVE = -28 , AMD_DBGAPI_STATUS_ERROR_RESUME_DISPLACED_STEPPING = -29 , AMD_DBGAPI_STATUS_ERROR_INVALID_WATCHPOINT_ID = -30 , AMD_DBGAPI_STATUS_ERROR_NO_WATCHPOINT_AVAILABLE = -31 , AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_CLASS_ID = -32 , AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_ID = -33 , AMD_DBGAPI_STATUS_ERROR_INVALID_LANE_ID = -34 , AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_CLASS_ID = -35 , AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_ID = -36 , AMD_DBGAPI_STATUS_ERROR_MEMORY_ACCESS = -37 , AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_CONVERSION = -38 , AMD_DBGAPI_STATUS_ERROR_INVALID_EVENT_ID = -39 , AMD_DBGAPI_STATUS_ERROR_INVALID_BREAKPOINT_ID = -40 , AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK = -41 , AMD_DBGAPI_STATUS_ERROR_INVALID_CLIENT_PROCESS_ID = -42 , AMD_DBGAPI_STATUS_ERROR_SYMBOL_NOT_FOUND = -43 , AMD_DBGAPI_STATUS_ERROR_REGISTER_NOT_AVAILABLE = -44 , AMD_DBGAPI_STATUS_ERROR_INVALID_WORKGROUP_ID = -45 , AMD_DBGAPI_STATUS_ERROR_INCOMPATIBLE_PROCESS_STATE = -46 , AMD_DBGAPI_STATUS_ERROR_PROCESS_FROZEN = -47 , AMD_DBGAPI_STATUS_ERROR_PROCESS_ALREADY_FROZEN = -48 , AMD_DBGAPI_STATUS_ERROR_PROCESS_NOT_FROZEN = -49 }
| AMD debugger API status codes. More...
enum | amd_dbgapi_architecture_info_t { AMD_DBGAPI_ARCHITECTURE_INFO_NAME = 1 , AMD_DBGAPI_ARCHITECTURE_INFO_ELF_AMDGPU_MACHINE = 2 , AMD_DBGAPI_ARCHITECTURE_INFO_LARGEST_INSTRUCTION_SIZE = 3 , AMD_DBGAPI_ARCHITECTURE_INFO_MINIMUM_INSTRUCTION_ALIGNMENT = 4 , AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_SIZE = 5 , AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION = 6 , AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_PC_ADJUST = 7 , AMD_DBGAPI_ARCHITECTURE_INFO_PC_REGISTER = 8 }
| Architecture queries that are supported by amd_dbgapi_architecture_get_info. More...
enum | amd_dbgapi_instruction_kind_t { AMD_DBGAPI_INSTRUCTION_KIND_UNKNOWN = 0 , AMD_DBGAPI_INSTRUCTION_KIND_SEQUENTIAL = 1 , AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH = 2 , AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH_CONDITIONAL = 3 , AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_REGISTER_PAIR = 4 , AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_CONDITIONAL_REGISTER_PAIR = 5 , AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_CALL_REGISTER_PAIR = 6 , AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_CALL_REGISTER_PAIRS = 7 , AMD_DBGAPI_INSTRUCTION_KIND_TERMINATE = 8 , AMD_DBGAPI_INSTRUCTION_KIND_TRAP = 9 , AMD_DBGAPI_INSTRUCTION_KIND_HALT = 10 , AMD_DBGAPI_INSTRUCTION_KIND_BARRIER = 11 , AMD_DBGAPI_INSTRUCTION_KIND_SLEEP = 12 , AMD_DBGAPI_INSTRUCTION_KIND_SPECIAL = 13 }
| The kinds of instruction classifications. More...
enum | amd_dbgapi_instruction_properties_t { AMD_DBGAPI_INSTRUCTION_PROPERTY_NONE = 0 }
| A bit mask of the properties of an instruction. More...
enum | amd_dbgapi_endianness_t { AMD_DBGAPI_ENDIAN_BIG = 0 , AMD_DBGAPI_ENDIAN_LITTLE = 1 }
| Byte endianness encoding. More...
enum | amd_dbgapi_process_info_t { AMD_DBGAPI_PROCESS_INFO_NOTIFIER = 1 , AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_COUNT = 2 , AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_SHARE = 3 , AMD_DBGAPI_PROCESS_INFO_PRECISE_MEMORY_SUPPORTED = 4 , AMD_DBGAPI_PROCESS_INFO_PRECISE_ALU_EXCEPTIONS_SUPPORTED = 5 , AMD_DBGAPI_PROCESS_INFO_OS_ID = 6 , AMD_DBGAPI_PROCESS_INFO_CORE_STATE = 7 }
| Process queries that are supported by amd_dbgapi_process_get_info. More...
enum | amd_dbgapi_progress_t { AMD_DBGAPI_PROGRESS_NORMAL = 0 , AMD_DBGAPI_PROGRESS_NO_FORWARD = 1 }
| The kinds of progress supported by the library. More...
enum | amd_dbgapi_wave_creation_t { AMD_DBGAPI_WAVE_CREATION_NORMAL = 0 , AMD_DBGAPI_WAVE_CREATION_STOP = 1 }
| The kinds of wave creation supported by the hardware. More...
enum | amd_dbgapi_code_object_info_t { AMD_DBGAPI_CODE_OBJECT_INFO_PROCESS = 1 , AMD_DBGAPI_CODE_OBJECT_INFO_URI_NAME = 2 , AMD_DBGAPI_CODE_OBJECT_INFO_LOAD_ADDRESS = 3 }
| Code object queries that are supported by amd_dbgapi_code_object_get_info. More...
enum | amd_dbgapi_agent_info_t { AMD_DBGAPI_AGENT_INFO_PROCESS = 1 , AMD_DBGAPI_AGENT_INFO_NAME = 2 , AMD_DBGAPI_AGENT_INFO_ARCHITECTURE = 3 , AMD_DBGAPI_AGENT_INFO_STATE = 4 , AMD_DBGAPI_AGENT_INFO_PCI_DOMAIN = 5 , AMD_DBGAPI_AGENT_INFO_PCI_SLOT = 6 , AMD_DBGAPI_AGENT_INFO_PCI_VENDOR_ID = 7 , AMD_DBGAPI_AGENT_INFO_PCI_DEVICE_ID = 8 , AMD_DBGAPI_AGENT_INFO_EXECUTION_UNIT_COUNT = 9 , AMD_DBGAPI_AGENT_INFO_MAX_WAVES_PER_EXECUTION_UNIT = 10 , AMD_DBGAPI_AGENT_INFO_OS_ID = 11 }
| Agent queries that are supported by amd_dbgapi_agent_get_info. More...
enum | amd_dbgapi_agent_state_t { AMD_DBGAPI_AGENT_STATE_SUPPORTED = 1 , AMD_DBGAPI_AGENT_STATE_NOT_SUPPORTED = 2 }
| Agent state. More...
enum | amd_dbgapi_queue_info_t { AMD_DBGAPI_QUEUE_INFO_AGENT = 1 , AMD_DBGAPI_QUEUE_INFO_PROCESS = 2 , AMD_DBGAPI_QUEUE_INFO_ARCHITECTURE = 3 , AMD_DBGAPI_QUEUE_INFO_TYPE = 4 , AMD_DBGAPI_QUEUE_INFO_STATE = 5 , AMD_DBGAPI_QUEUE_INFO_ERROR_REASON = 6 , AMD_DBGAPI_QUEUE_INFO_ADDRESS = 7 , AMD_DBGAPI_QUEUE_INFO_SIZE = 8 , AMD_DBGAPI_QUEUE_INFO_OS_ID = 9 }
| Queue queries that are supported by amd_dbgapi_queue_get_info. More...
enum | amd_dbgapi_queue_state_t { AMD_DBGAPI_QUEUE_STATE_VALID = 1 , AMD_DBGAPI_QUEUE_STATE_ERROR = 2 }
| Queue state. More...
enum | amd_dbgapi_exceptions_t { AMD_DBGAPI_EXCEPTION_NONE = 0 , AMD_DBGAPI_EXCEPTION_WAVE_ABORT = (1 << 0) , AMD_DBGAPI_EXCEPTION_WAVE_TRAP = (1 << 1) , AMD_DBGAPI_EXCEPTION_WAVE_MATH_ERROR = (1 << 2) , AMD_DBGAPI_EXCEPTION_WAVE_ILLEGAL_INSTRUCTION = (1 << 3) , AMD_DBGAPI_EXCEPTION_WAVE_MEMORY_VIOLATION = (1 << 4) , AMD_DBGAPI_EXCEPTION_WAVE_ADDRESS_ERROR = (1 << 5) , DEPRECATED = AMD_DBGAPI_EXCEPTION_WAVE_ADDRESS_ERROR , AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_DIM_INVALID = (1 << 16) , AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID = (1 << 17) , AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_CODE_INVALID = (1 << 18) , AMD_DBGAPI_EXCEPTION_PACKET_UNSUPPORTED = (1 << 20) , AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_WORKGROUP_SIZE_INVALID = (1 << 21) , AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_REGISTER_COUNT_TOO_LARGE = (1 << 22) , AMD_DBGAPI_EXCEPTION_PACKET_VENDOR_UNSUPPORTED = (1 << 23) , AMD_DBGAPI_EXCEPTION_QUEUE_PREEMPTION_ERROR = (1 << 31) }
| A bit mask of the exceptions that can cause a queue to enter the queue error state. More...
enum | amd_dbgapi_dispatch_info_t { AMD_DBGAPI_DISPATCH_INFO_QUEUE = 1 , AMD_DBGAPI_DISPATCH_INFO_AGENT = 2 , AMD_DBGAPI_DISPATCH_INFO_PROCESS = 3 , AMD_DBGAPI_DISPATCH_INFO_ARCHITECTURE = 4 , AMD_DBGAPI_DISPATCH_INFO_OS_QUEUE_PACKET_ID = 5 , AMD_DBGAPI_DISPATCH_INFO_BARRIER = 6 , AMD_DBGAPI_DISPATCH_INFO_ACQUIRE_FENCE = 7 , AMD_DBGAPI_DISPATCH_INFO_RELEASE_FENCE = 8 , AMD_DBGAPI_DISPATCH_INFO_GRID_DIMENSIONS = 9 , AMD_DBGAPI_DISPATCH_INFO_WORKGROUP_SIZES = 10 , AMD_DBGAPI_DISPATCH_INFO_GRID_SIZES = 11 , AMD_DBGAPI_DISPATCH_INFO_PRIVATE_SEGMENT_SIZE = 12 , AMD_DBGAPI_DISPATCH_INFO_GROUP_SEGMENT_SIZE = 13 , AMD_DBGAPI_DISPATCH_INFO_KERNEL_ARGUMENT_SEGMENT_ADDRESS = 14 , AMD_DBGAPI_DISPATCH_INFO_KERNEL_DESCRIPTOR_ADDRESS = 15 , AMD_DBGAPI_DISPATCH_INFO_KERNEL_CODE_ENTRY_ADDRESS = 16 , AMD_DBGAPI_DISPATCH_INFO_KERNEL_COMPLETION_ADDRESS = 17 }
| Dispatch queries that are supported by amd_dbgapi_dispatch_get_info. More...
enum | amd_dbgapi_dispatch_barrier_t { AMD_DBGAPI_DISPATCH_BARRIER_NONE = 0 , AMD_DBGAPI_DISPATCH_BARRIER_PRESENT = 1 }
| Dispatch barrier. More...
enum | amd_dbgapi_dispatch_fence_scope_t { AMD_DBGAPI_DISPATCH_FENCE_SCOPE_NONE = 0 , AMD_DBGAPI_DISPATCH_FENCE_SCOPE_AGENT = 1 , AMD_DBGAPI_DISPATCH_FENCE_SCOPE_SYSTEM = 2 }
| Dispatch memory fence scope. More...
enum | amd_dbgapi_workgroup_info_t { AMD_DBGAPI_WORKGROUP_INFO_DISPATCH = 1 , AMD_DBGAPI_WORKGROUP_INFO_QUEUE = 2 , AMD_DBGAPI_WORKGROUP_INFO_AGENT = 3 , AMD_DBGAPI_WORKGROUP_INFO_PROCESS = 4 , AMD_DBGAPI_WORKGROUP_INFO_ARCHITECTURE = 5 , AMD_DBGAPI_WORKGROUP_INFO_WORKGROUP_COORD = 6 }
| Workgroup queries that are supported by amd_dbgapi_workgroup_get_info. More...
enum | amd_dbgapi_wave_info_t { AMD_DBGAPI_WAVE_INFO_STATE = 1 , AMD_DBGAPI_WAVE_INFO_STOP_REASON = 2 , AMD_DBGAPI_WAVE_INFO_WATCHPOINTS = 3 , AMD_DBGAPI_WAVE_INFO_WORKGROUP = 4 , AMD_DBGAPI_WAVE_INFO_DISPATCH = 5 , AMD_DBGAPI_WAVE_INFO_QUEUE = 6 , AMD_DBGAPI_WAVE_INFO_AGENT = 7 , AMD_DBGAPI_WAVE_INFO_PROCESS = 8 , AMD_DBGAPI_WAVE_INFO_ARCHITECTURE = 9 , AMD_DBGAPI_WAVE_INFO_PC = 10 , AMD_DBGAPI_WAVE_INFO_EXEC_MASK = 11 , AMD_DBGAPI_WAVE_INFO_WORKGROUP_COORD = 12 , AMD_DBGAPI_WAVE_INFO_WAVE_NUMBER_IN_WORKGROUP = 13 , AMD_DBGAPI_WAVE_INFO_LANE_COUNT = 14 }
| Wave queries that are supported by amd_dbgapi_wave_get_info. More...
enum | amd_dbgapi_wave_state_t { AMD_DBGAPI_WAVE_STATE_RUN = 1 , AMD_DBGAPI_WAVE_STATE_SINGLE_STEP = 2 , AMD_DBGAPI_WAVE_STATE_STOP = 3 }
| The execution state of a wave. More...
enum | amd_dbgapi_wave_stop_reasons_t { AMD_DBGAPI_WAVE_STOP_REASON_NONE = 0 , AMD_DBGAPI_WAVE_STOP_REASON_BREAKPOINT = (1 << 0) , AMD_DBGAPI_WAVE_STOP_REASON_WATCHPOINT = (1 << 1) , AMD_DBGAPI_WAVE_STOP_REASON_SINGLE_STEP = (1 << 2) , AMD_DBGAPI_WAVE_STOP_REASON_FP_INPUT_DENORMAL = (1 << 3) , AMD_DBGAPI_WAVE_STOP_REASON_FP_DIVIDE_BY_0 = (1 << 4) , AMD_DBGAPI_WAVE_STOP_REASON_FP_OVERFLOW = (1 << 5) , AMD_DBGAPI_WAVE_STOP_REASON_FP_UNDERFLOW = (1 << 6) , AMD_DBGAPI_WAVE_STOP_REASON_FP_INEXACT = (1 << 7) , AMD_DBGAPI_WAVE_STOP_REASON_FP_INVALID_OPERATION = (1 << 8) , AMD_DBGAPI_WAVE_STOP_REASON_INT_DIVIDE_BY_0 = (1 << 9) , AMD_DBGAPI_WAVE_STOP_REASON_DEBUG_TRAP = (1 << 10) , AMD_DBGAPI_WAVE_STOP_REASON_ASSERT_TRAP = (1 << 11) , AMD_DBGAPI_WAVE_STOP_REASON_TRAP = (1 << 12) , AMD_DBGAPI_WAVE_STOP_REASON_MEMORY_VIOLATION = (1 << 13) , AMD_DBGAPI_WAVE_STOP_REASON_ADDRESS_ERROR = (1 << 14) , DEPRECATED = AMD_DBGAPI_EXCEPTION_WAVE_ADDRESS_ERROR , AMD_DBGAPI_WAVE_STOP_REASON_ILLEGAL_INSTRUCTION = (1 << 15) , AMD_DBGAPI_WAVE_STOP_REASON_ECC_ERROR = (1 << 16) , AMD_DBGAPI_WAVE_STOP_REASON_FATAL_HALT = (1 << 17) }
| A bit mask of the reasons that a wave stopped. More...
enum | amd_dbgapi_resume_mode_t { AMD_DBGAPI_RESUME_MODE_NORMAL = 0 , AMD_DBGAPI_RESUME_MODE_SINGLE_STEP = 1 }
| The mode in which to resuming the execution of a wave. More...
enum | amd_dbgapi_displaced_stepping_info_t { AMD_DBGAPI_DISPLACED_STEPPING_INFO_PROCESS = 1 }
| Displaced stepping queries that are supported by amd_dbgapi_displaced_stepping_id_t. More...
enum | amd_dbgapi_watchpoint_info_t { AMD_DBGAPI_WATCHPOINT_INFO_PROCESS = 1 , AMD_DBGAPI_WATCHPOINT_INFO_ADDRESS = 2 , AMD_DBGAPI_WATCHPOINT_INFO_SIZE = 3 }
| Watchpoint queries that are supported by amd_dbgapi_watchpoint_get_info. More...
enum | amd_dbgapi_watchpoint_share_kind_t { AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSUPPORTED = 0 , AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSHARED = 1 , AMD_DBGAPI_WATCHPOINT_SHARE_KIND_SHARED = 2 }
| The way watchpoints are shared between processes. More...
enum | amd_dbgapi_watchpoint_kind_t { AMD_DBGAPI_WATCHPOINT_KIND_LOAD = 1 , AMD_DBGAPI_WATCHPOINT_KIND_STORE_AND_RMW = 2 , AMD_DBGAPI_WATCHPOINT_KIND_RMW = 3 , AMD_DBGAPI_WATCHPOINT_KIND_ALL = 4 }
| Watchpoint memory access kinds. More...
enum | amd_dbgapi_register_class_info_t { AMD_DBGAPI_REGISTER_CLASS_INFO_ARCHITECTURE = 1 , AMD_DBGAPI_REGISTER_CLASS_INFO_NAME = 2 }
| Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info. More...
enum | amd_dbgapi_register_properties_t { AMD_DBGAPI_REGISTER_PROPERTY_NONE = 0 , AMD_DBGAPI_REGISTER_PROPERTY_READONLY_BITS = (1 << 0) , AMD_DBGAPI_REGISTER_PROPERTY_VOLATILE = (1 << 1) , AMD_DBGAPI_REGISTER_PROPERTY_INVALIDATE_VOLATILE = (1 << 2) }
| A bit mask on register properties. More...
enum | amd_dbgapi_register_info_t { AMD_DBGAPI_REGISTER_INFO_ARCHITECTURE = 1 , AMD_DBGAPI_REGISTER_INFO_NAME = 2 , AMD_DBGAPI_REGISTER_INFO_SIZE = 3 , AMD_DBGAPI_REGISTER_INFO_TYPE = 4 , AMD_DBGAPI_REGISTER_INFO_DWARF = 5 , AMD_DBGAPI_REGISTER_INFO_PROPERTIES = 6 }
| Register queries that are supported by amd_dbgapi_register_get_info. More...
enum | amd_dbgapi_register_exists_t { AMD_DBGAPI_REGISTER_ABSENT = 0 , AMD_DBGAPI_REGISTER_PRESENT = 1 }
| Indication of if a wave has a register. More...
enum | amd_dbgapi_register_class_state_t { AMD_DBGAPI_REGISTER_CLASS_STATE_NOT_MEMBER = 0 , AMD_DBGAPI_REGISTER_CLASS_STATE_MEMBER = 1 }
| Indication of whether a register is a member of a register class. More...
enum | amd_dbgapi_address_class_info_t { AMD_DBGAPI_ADDRESS_CLASS_INFO_NAME = 1 , AMD_DBGAPI_ADDRESS_CLASS_INFO_ADDRESS_SPACE = 2 , AMD_DBGAPI_ADDRESS_CLASS_INFO_DWARF = 3 }
| Source language address class queries that are supported by amd_dbgapi_address_class_get_info. More...
enum | amd_dbgapi_address_space_access_t { AMD_DBGAPI_ADDRESS_SPACE_ACCESS_ALL = 1 , AMD_DBGAPI_ADDRESS_SPACE_ACCESS_PROGRAM_CONSTANT = 2 , AMD_DBGAPI_ADDRESS_SPACE_ACCESS_DISPATCH_CONSTANT = 3 }
| Indication of how the address space is accessed. More...
enum | amd_dbgapi_address_space_info_t { AMD_DBGAPI_ADDRESS_SPACE_INFO_NAME = 1 , AMD_DBGAPI_ADDRESS_SPACE_INFO_ADDRESS_SIZE = 2 , AMD_DBGAPI_ADDRESS_SPACE_INFO_NULL_ADDRESS = 3 , AMD_DBGAPI_ADDRESS_SPACE_INFO_ACCESS = 4 , AMD_DBGAPI_ADDRESS_SPACE_INFO_DWARF = 5 }
| Address space queries that are supported by amd_dbgapi_address_space_get_info. More...
enum | amd_dbgapi_segment_address_dependency_t { AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_NONE = 0 , AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_LANE = 1 , AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_WAVE = 2 , AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_WORKGROUP = 3 , AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_AGENT = 4 , AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_PROCESS = 5 }
| The dependency when reading or writing a specific segment address of an address space using the amd_dbgapi_read_memory and amd_dbgapi_write_memory operations. More...
enum | amd_dbgapi_address_class_state_t { AMD_DBGAPI_ADDRESS_CLASS_STATE_NOT_MEMBER = 0 , AMD_DBGAPI_ADDRESS_CLASS_STATE_MEMBER = 1 }
| Indication of whether a segment address in an address space is a member of an source language address class. More...
enum | amd_dbgapi_memory_precision_t { AMD_DBGAPI_MEMORY_PRECISION_NONE = 0 , AMD_DBGAPI_MEMORY_PRECISION_PRECISE = 1 }
| Memory access precision. More...
enum | amd_dbgapi_alu_exceptions_precision_t { AMD_DBGAPI_ALU_EXCEPTIONS_PRECISION_NONE = 0 , AMD_DBGAPI_ALU_EXCEPTIONS_PRECISION_PRECISE = 1 }
| ALU exceptions reporting precision. More...
enum | amd_dbgapi_event_kind_t { AMD_DBGAPI_EVENT_KIND_NONE = 0 , AMD_DBGAPI_EVENT_KIND_WAVE_STOP = 1 , AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED = 2 , AMD_DBGAPI_EVENT_KIND_CODE_OBJECT_LIST_UPDATED = 3 , AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME = 4 , AMD_DBGAPI_EVENT_KIND_RUNTIME = 5 , AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR = 6 }
| The event kinds. More...
enum | amd_dbgapi_runtime_state_t { AMD_DBGAPI_RUNTIME_STATE_LOADED_SUCCESS = 1 , AMD_DBGAPI_RUNTIME_STATE_UNLOADED = 2 , AMD_DBGAPI_RUNTIME_STATE_LOADED_ERROR_RESTRICTION = 3 }
| Inferior's runtime state. More...
enum | amd_dbgapi_event_info_t { AMD_DBGAPI_EVENT_INFO_PROCESS = 1 , AMD_DBGAPI_EVENT_INFO_KIND = 2 , AMD_DBGAPI_EVENT_INFO_WAVE = 3 , AMD_DBGAPI_EVENT_INFO_BREAKPOINT = 4 , AMD_DBGAPI_EVENT_INFO_CLIENT_THREAD = 5 , AMD_DBGAPI_EVENT_INFO_RUNTIME_STATE = 6 , AMD_DBGAPI_EVENT_INFO_QUEUE = 7 }
| Event queries that are supported by amd_dbgapi_event_get_info. More...
enum | amd_dbgapi_log_level_t { AMD_DBGAPI_LOG_LEVEL_NONE = 0 , AMD_DBGAPI_LOG_LEVEL_FATAL_ERROR = 1 , AMD_DBGAPI_LOG_LEVEL_WARNING = 2 , AMD_DBGAPI_LOG_LEVEL_INFO = 3 , AMD_DBGAPI_LOG_LEVEL_TRACE = 4 , AMD_DBGAPI_LOG_LEVEL_VERBOSE = 5 }
| The logging levels supported. More...
enum | amd_dbgapi_breakpoint_info_t { AMD_DBGAPI_BREAKPOINT_INFO_PROCESS = 1 }
| Breakpoint queries that are supported by amd_dbgapi_breakpoint_get_info. More...
enum | amd_dbgapi_breakpoint_action_t { AMD_DBGAPI_BREAKPOINT_ACTION_RESUME = 1 , AMD_DBGAPI_BREAKPOINT_ACTION_HALT = 2 }
| The action to perform after reporting a breakpoint has been hit. More...
enum | amd_dbgapi_client_process_info_t { AMD_DBGAPI_CLIENT_PROCESS_INFO_OS_PID = 1 , AMD_DBGAPI_CLIENT_PROCESS_INFO_CORE_STATE = 2 }
| Client queries that are supported by the client_process_get_info callback. More...

## Functions
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_get_status_string (amd_dbgapi_status_t status, const char **status_string) AMD_DBGAPI_VERSION_0_54
| Query a textual description of a status code.
void AMD_DBGAPI | amd_dbgapi_get_version (uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_54
| Query the version of the installed library.
const char AMD_DBGAPI * | amd_dbgapi_get_build_name (void) AMD_DBGAPI_VERSION_0_54
| Query the installed library build name.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_initialize (amd_dbgapi_callbacks_t *callbacks) AMD_DBGAPI_VERSION_0_76
| Initialize the library.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_finalize (void) AMD_DBGAPI_VERSION_0_54
| Finalize the library.
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_54
| Query information about an architecture.
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_54
| Get an architecture from the AMD GPU ELF `EF_AMDGPU_MACH` value corresponding to the architecture.
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_54
| Disassemble a single instruction.
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, amd_dbgapi_instruction_properties_t *instruction_properties, void **instruction_information) AMD_DBGAPI_VERSION_0_58
| Classify a single instruction.
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_77
| Query information about a process.
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_56
| Attach to a process in order to provide debug control of the AMD GPUs it uses.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_detach (amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_54
| Detach from a process and no longer have debug control of the AMD GPU devices it uses.
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_76
| Set the progress required for a process.
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_76
| Set the wave creation mode for a process.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_freeze (amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_76
| Freeze the process identified by `process_id`.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_unfreeze (amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_76
| Unfreeze the process identified by `process_id`.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_code_object_get_info (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_54
| Query information about a code object.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_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_54
| Return the list of loaded code objects.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_agent_get_info (amd_dbgapi_agent_id_t agent_id, amd_dbgapi_agent_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_67
| Query information about an agent.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_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_54
| Return the list of agents.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_queue_get_info (amd_dbgapi_queue_id_t queue_id, amd_dbgapi_queue_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_68
| Query information about a queue.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_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_54
| Return the list of queues.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_queue_packet_list (amd_dbgapi_queue_id_t queue_id, amd_dbgapi_os_queue_packet_id_t *read_packet_id, amd_dbgapi_os_queue_packet_id_t *write_packet_id, size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_54
| Return the packets for a queue.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_dispatch_get_info (amd_dbgapi_dispatch_id_t dispatch_id, amd_dbgapi_dispatch_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
| Query information about a dispatch.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_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_54
| Return the list of dispatches.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_workgroup_get_info (amd_dbgapi_workgroup_id_t workgroup_id, amd_dbgapi_workgroup_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64
| Query information about a workgroup.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_workgroup_list (amd_dbgapi_process_id_t process_id, size_t *workgroup_count, amd_dbgapi_workgroup_id_t **workgroups, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_64
| Return the list of existing workgroups.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_wave_get_info (amd_dbgapi_wave_id_t wave_id, amd_dbgapi_wave_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64
| Query information about a wave.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_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_54
| Return the list of existing waves.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_wave_stop (amd_dbgapi_wave_id_t wave_id) AMD_DBGAPI_VERSION_0_76
| Request a wave to stop executing.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_wave_resume (amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode, amd_dbgapi_exceptions_t exceptions) AMD_DBGAPI_VERSION_0_76
| Resume execution of a stopped wave.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_displaced_stepping_get_info (amd_dbgapi_displaced_stepping_id_t displaced_stepping_id, amd_dbgapi_displaced_stepping_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
| Query information about a displaced stepping buffer.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_displaced_stepping_start (amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes, amd_dbgapi_displaced_stepping_id_t *displaced_stepping) AMD_DBGAPI_VERSION_0_76
| Associate an active displaced stepping buffer with a wave.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_displaced_stepping_complete (amd_dbgapi_wave_id_t wave_id, amd_dbgapi_displaced_stepping_id_t displaced_stepping) AMD_DBGAPI_VERSION_0_76
| Complete a displaced stepping buffer for a wave.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_watchpoint_get_info (amd_dbgapi_watchpoint_id_t watchpoint_id, amd_dbgapi_watchpoint_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
| Query information about a watchpoint.
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_VERSION_0_76
| Set a hardware data watchpoint.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_remove_watchpoint (amd_dbgapi_watchpoint_id_t watchpoint_id) AMD_DBGAPI_VERSION_0_76
| Remove a hardware data watchpoint previously set by amd_dbgapi_set_watchpoint.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_architecture_register_class_get_info (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_54
| Query information about a register class of an architecture.
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_54
| Report the list of register classes supported by the architecture.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_register_get_info (amd_dbgapi_register_id_t register_id, amd_dbgapi_register_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_70
| Query information about a register.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_wave_register_exists (amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_register_exists_t *exists) AMD_DBGAPI_VERSION_0_54
| Query if a register exists for a wave.
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_54
| Report the list of registers supported by the architecture.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_wave_register_list (amd_dbgapi_wave_id_t wave_id, size_t *register_count, amd_dbgapi_register_id_t **registers) AMD_DBGAPI_VERSION_0_54
| Report the list of registers supported by 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_54
| Return a register handle from an AMD GPU DWARF register number for an architecture.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_register_is_in_register_class (amd_dbgapi_register_class_id_t register_class_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_register_class_state_t *register_class_state) AMD_DBGAPI_VERSION_0_54
| Determine if a register is a member of a register class.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_read_register (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_62
| Read a register.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_write_register (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_76
| Write a register.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_prefetch_register (amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_62
| Prefetch register values.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_address_class_get_info (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_62
| Query information about a source language address class of an architecture.
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_54
| Report the list of source language address classes supported by the architecture.
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_54
| Return the architecture source language address class from a DWARF address class number for an architecture.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_address_space_get_info (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_62
| Query information about an address space.
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_54
| Report the list of address spaces supported by the architecture.
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_54
| Return the address space from an AMD GPU DWARF address space number for an architecture.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_convert_address_space (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_size_t *destination_contiguous_bytes) AMD_DBGAPI_VERSION_0_62
| Convert a source segment address in the source address space into a destination segment address in the destination address space.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_address_dependency (amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_segment_address_dependency_t *segment_address_dependency) AMD_DBGAPI_VERSION_0_64
| Determine the dependency of a segment address value in a particular address space.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_address_is_in_address_class (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_54
| Determine if a segment address in an address space is a member of a source language address class.
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_54
| Read memory.
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_76
| Write memory.
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_54
| Control precision of memory access reporting.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_set_alu_exceptions_precision (amd_dbgapi_process_id_t process_id, amd_dbgapi_alu_exceptions_precision_t alu_exceptions_precision) AMD_DBGAPI_VERSION_0_77
| Control precision of ALU exceptions reporting.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_process_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_54
| Obtain the next pending event.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_event_get_info (amd_dbgapi_event_id_t event_id, amd_dbgapi_event_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
| Query information about an event.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_event_processed (amd_dbgapi_event_id_t event_id) AMD_DBGAPI_VERSION_0_54
| Report that an event has been processed.
void AMD_DBGAPI | amd_dbgapi_set_log_level (amd_dbgapi_log_level_t level) AMD_DBGAPI_VERSION_0_54
| Set the logging level.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_breakpoint_get_info (amd_dbgapi_breakpoint_id_t breakpoint_id, amd_dbgapi_breakpoint_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
| Query information about a breakpoint.
amd_dbgapi_status_t AMD_DBGAPI | amd_dbgapi_report_breakpoint_hit (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_54
| Report that a breakpoint inserted by the amd_dbgapi_callbacks_s::insert_breakpoint callback has been hit.

## Detailed Description

AMD debugger API interface.

## Macro Definition Documentation

## ◆ AMD_DBGAPI

#define AMD_DBGAPI AMD_DBGAPI_IMPORT

## ◆ AMD_DBGAPI_CALL

#define AMD_DBGAPI_CALL

## ◆ AMD_DBGAPI_EXPORT

#define AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL

## ◆ AMD_DBGAPI_HANDLE_LITERAL

#define AMD_DBGAPI_HANDLE_LITERAL | ( |  | type,
|  |  | value
| ) |  | {value}

## ◆ AMD_DBGAPI_IMPORT

#define AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL

## ◆ DEPRECATED

DEPRECATED = AMD_DBGAPI_WAVE_STOP_REASON_ADDRESS_ERROR

Old deprecated name kept for backward compatibility.

Will be removed in a future release.