466 #define AMD_DBGAPI_H 1 469 #if !defined(AMD_DBGAPI_CALL) 470 #define AMD_DBGAPI_CALL 473 #if !defined(AMD_DBGAPI_EXPORT_DECORATOR) 474 #if defined(__GNUC__) 475 #define AMD_DBGAPI_EXPORT_DECORATOR __attribute__ ((visibility ("default"))) 476 #elif defined(_MSC_VER) 477 #define AMD_DBGAPI_EXPORT_DECORATOR __declspec(dllexport) 481 #if !defined(AMD_DBGAPI_IMPORT_DECORATOR) 482 #if defined(__GNUC__) 483 #define AMD_DBGAPI_IMPORT_DECORATOR 484 #elif defined(_MSC_VER) 485 #define AMD_DBGAPI_IMPORT_DECORATOR __declspec(dllimport) 489 #define AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL 490 #define AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL 492 #if !defined(AMD_DBGAPI) 493 #if defined(AMD_DBGAPI_EXPORTS) 494 #define AMD_DBGAPI AMD_DBGAPI_EXPORT 496 #define AMD_DBGAPI AMD_DBGAPI_IMPORT 500 #if __cplusplus >= 201103L 502 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) (type{ value }) 503 #elif __STDC_VERSION__ >= 199901L 505 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) ((type){ value }) 507 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) {value} 510 #if defined(__cplusplus) && __cplusplus >= 201402L 511 #define DEPRECATED [[deprecated]] 516 #if defined(__cplusplus) 520 #if defined(__linux__) 521 #include <sys/types.h> 546 #define AMD_DBGAPI_VERSION_0_54 552 #define AMD_DBGAPI_VERSION_0_56 558 #define AMD_DBGAPI_VERSION_0_58 564 #define AMD_DBGAPI_VERSION_0_62 570 #define AMD_DBGAPI_VERSION_0_64 576 #define AMD_DBGAPI_VERSION_0_67 582 #define AMD_DBGAPI_VERSION_0_68 588 #define AMD_DBGAPI_VERSION_0_70 594 #define AMD_DBGAPI_VERSION_0_76 655 #if defined(__linux__) 683 #if defined(__linux__) 694 #if defined(__linux__) 704 #if defined(__linux__) 716 #if defined(__linux__) 727 #if defined(__linux__) 1052 #define AMD_DBGAPI_VERSION_MAJOR 0 1058 #define AMD_DBGAPI_VERSION_MINOR 76 1160 AMD_DBGAPI_VERSION_0_54;
1191 #define AMD_DBGAPI_ARCHITECTURE_NONE \ 1192 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_architecture_id_t, 0) 1327 uint32_t elf_amdgpu_machine,
1433 amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1434 const void *memory,
char **instruction_text,
1435 amd_dbgapi_symbolizer_id_t symbolizer_id,
1437 amd_dbgapi_symbolizer_id_t symbolizer_id,
1438 amd_dbgapi_global_address_t address,
1644 amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1690 #define AMD_DBGAPI_PROCESS_NONE \ 1691 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_process_id_t, 0) 1926 amd_dbgapi_client_process_id_t client_process_id,
2245 #define AMD_DBGAPI_CODE_OBJECT_NONE \ 2246 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_code_object_id_t, 0) 2446 #define AMD_DBGAPI_AGENT_NONE \ 2447 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_agent_id_t, 0) 2678 #define AMD_DBGAPI_QUEUE_NONE \ 2679 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_queue_id_t, 0) 3028 amd_dbgapi_os_queue_packet_id_t *read_packet_id,
3029 amd_dbgapi_os_queue_packet_id_t *write_packet_id,
3058 #define AMD_DBGAPI_DISPATCH_NONE \ 3059 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_dispatch_id_t, 0) 3325 #define AMD_DBGAPI_WORKGROUP_NONE \ 3326 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0) 3503 #define AMD_DBGAPI_WAVE_NONE \ 3504 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_wave_id_t, 0) 3868 AMD_DBGAPI_WAVE_STOP_REASON_APERTURE_VIOLATION DEPRECATED
4319 #define AMD_DBGAPI_DISPLACED_STEPPING_NONE \ 4320 (amd_dbgapi_displaced_stepping_id_t{ 0 }) 4571 #define AMD_DBGAPI_WATCHPOINT_NONE \ 4572 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_watchpoint_id_t, 0) 4838 #define AMD_DBGAPI_REGISTER_CLASS_NONE \ 4839 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_class_id_t, 0) 4968 #define AMD_DBGAPI_REGISTER_NONE \ 4969 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_id_t, 0) 5457 amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5526 amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5643 #define AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1)) 5666 #define AMD_DBGAPI_ADDRESS_CLASS_NONE \ 5667 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_class_id_t, 0) 5851 #define AMD_DBGAPI_ADDRESS_SPACE_NONE \ 5852 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 0) 5860 #define AMD_DBGAPI_ADDRESS_SPACE_GLOBAL \ 5861 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 1) 6186 amd_dbgapi_segment_address_t source_segment_address,
6188 amd_dbgapi_segment_address_t *destination_segment_address,
6189 amd_dbgapi_size_t *destination_contiguous_bytes)
6265 amd_dbgapi_segment_address_t segment_address,
6361 amd_dbgapi_segment_address_t segment_address,
6466 amd_dbgapi_lane_id_t lane_id,
6468 amd_dbgapi_segment_address_t segment_address,
6575 amd_dbgapi_lane_id_t lane_id,
6577 amd_dbgapi_segment_address_t segment_address,
6693 #define AMD_DBGAPI_EVENT_NONE \ 6694 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_event_id_t, 0) 7094 #define AMD_DBGAPI_BREAKPOINT_NONE \ 7095 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0) 7220 amd_dbgapi_client_thread_id_t client_thread_id,
7274 void *(*allocate_memory) (
size_t byte_size);
7319 amd_dbgapi_client_process_id_t client_process_id,
7321 size_t value_size,
void *value);
7359 amd_dbgapi_client_process_id_t client_process_id,
7360 amd_dbgapi_global_address_t address,
7394 amd_dbgapi_client_process_id_t client_process_id,
7434 amd_dbgapi_client_process_id_t client_process_id,
7435 amd_dbgapi_global_address_t global_address,
7436 amd_dbgapi_size_t *value_size,
void *read_buffer,
7437 const void *write_buffer);
7452 #if defined(__cplusplus) Queue supports the AMD PM4 protocol.
Definition: amd-dbgapi.h:741
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_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.
Opaque agent handle.
Definition: amd-dbgapi.h:2438
Return the event kind.
Definition: amd-dbgapi.h:6888
The wave stopped due to executing an assert trap instruction.
Definition: amd-dbgapi.h:3823
uint64_t amd_dbgapi_global_address_t
Integral type used for a global virtual memory address in the inferior process.
Definition: amd-dbgapi.h:626
void(* deallocate_memory)(void *data)
Deallocate memory that was allocated by amd_dbgapi_callbacks_s::allocate_memory.
Definition: amd-dbgapi.h:7292
The wave stopped due to detecting an unrecoverable ECC error.
Definition: amd-dbgapi.h:3891
uint64_t handle
Definition: amd-dbgapi.h:6687
uint64_t handle
Definition: amd-dbgapi.h:1185
Return the dispatch grid size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3124
The address space is only read the waves of a kernel dispatch.
Definition: amd-dbgapi.h:5882
A set of watchpoints.
Definition: amd-dbgapi.h:4702
The wave stopped due to a memory violation.
Definition: amd-dbgapi.h:3849
The wave stopped due to triggering an enabled floating point invalid operation exception.
Definition: amd-dbgapi.h:3784
There are no properties.
Definition: amd-dbgapi.h:4982
A wave waits for memory instructions to complete before executing further instructions.
Definition: amd-dbgapi.h:6609
The client process handle is invalid.
Definition: amd-dbgapi.h:977
uint64_t amd_dbgapi_os_queue_id_t
Native operating system queue ID.
Definition: amd-dbgapi.h:705
An invalid argument was given to the function.
Definition: amd-dbgapi.h:814
uint64_t handle
Definition: amd-dbgapi.h:4565
Opaque displaced stepping handle.
Definition: amd-dbgapi.h:4311
Print fatal error messages.
Definition: amd-dbgapi.h:7021
There is a fence with system memory scope.
Definition: amd-dbgapi.h:3245
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.
The segment address cannot be converted to the requested address space.
Definition: amd-dbgapi.h:961
The instruction causes the wave to stop executing for some period of time, before continuing executio...
Definition: amd-dbgapi.h:1545
amd_dbgapi_wave_creation_t
The kinds of wave creation supported by the hardware.
Definition: amd-dbgapi.h:2068
Reading or writing the segment address depends on the wavefront.
Definition: amd-dbgapi.h:6210
Queue is in a valid state.
Definition: amd-dbgapi.h:2788
Opaque queue handle.
Definition: amd-dbgapi.h:2670
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.
Watchpoints are not supported.
Definition: amd-dbgapi.h:4653
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.
Print fatal error and warning messages.
Definition: amd-dbgapi.h:7025
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.
The inferior's runtime has been unloaded.
Definition: amd-dbgapi.h:6862
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 ...
Opaque process handle.
Definition: amd-dbgapi.h:1682
Read access by load instructions.
Definition: amd-dbgapi.h:4679
The instruction classification is unknown.
Definition: amd-dbgapi.h:1450
Native operating system queue ID.
Definition: amd-dbgapi.h:2735
The register value may change as a consequence of changing a register of the same wavefront with the ...
Definition: amd-dbgapi.h:4995
The instruction terminates the wave execution.
Definition: amd-dbgapi.h:1513
The number of lanes supported by the wave.
Definition: amd-dbgapi.h:3620
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_breakpoint_action_t
The action to perform after reporting a breakpoint has been hit.
Definition: amd-dbgapi.h:7158
Return how watchpoints are shared between processes.
Definition: amd-dbgapi.h:1750
Return the architecture of this dispatch.
Definition: amd-dbgapi.h:3088
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.
Return the source language address class name.
Definition: amd-dbgapi.h:5684
If the current process is created from a core file, return the content of the AMDGPU state note if pr...
Definition: amd-dbgapi.h:7251
There is a fence with agent memory scope.
Definition: amd-dbgapi.h:3241
The address space is read only.
Definition: amd-dbgapi.h:5877
amd_dbgapi_wave_state_t
The execution state of a wave.
Definition: amd-dbgapi.h:3676
#define AMD_DBGAPI_VERSION_0_56
The function was introduced in version 0.56 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:552
Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3119
uint32_t amd_dbgapi_lane_id_t
A wave lane handle.
Definition: amd-dbgapi.h:5638
const void * data
Pointer to the buffer containing the core state data.
Definition: amd-dbgapi.h:1723
Return the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
Definition: amd-dbgapi.h:1217
There is no fence.
Definition: amd-dbgapi.h:3237
The wave is running in single-step mode.
Definition: amd-dbgapi.h:3686
amd_dbgapi_changed_t
Indication of if a value has changed.
Definition: amd-dbgapi.h:636
The wave is stopped.
Definition: amd-dbgapi.h:899
amd_dbgapi_register_exists_t
Indication of if a wave has a register.
Definition: amd-dbgapi.h:5157
The wave's number in the workgroup.
Definition: amd-dbgapi.h:3615
The wave cannot be resumed.
Definition: amd-dbgapi.h:907
The wave does not have the register.
Definition: amd-dbgapi.h:5162
Opaque register class handle.
Definition: amd-dbgapi.h:4830
uint64_t handle
Definition: amd-dbgapi.h:1684
The segment address in the address space is a member of the source language address class...
Definition: amd-dbgapi.h:6284
Return the architecture to which this register class belongs.
Definition: amd-dbgapi.h:4854
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_agent_info_t
Agent queries that are supported by amd_dbgapi_agent_get_info.
Definition: amd-dbgapi.h:2455
amd_dbgapi_dispatch_barrier_t
Dispatch barrier.
Definition: amd-dbgapi.h:3213
Return the size of the register in bytes.
Definition: amd-dbgapi.h:5029
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(* xfer_global_memory)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_global_address_t global_address, amd_dbgapi_size_t *value_size, void *read_buffer, const void *write_buffer)
Uncached global memory transfer.
Definition: amd-dbgapi.h:7433
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.
The wave has an active displaced stepping buffer.
Definition: amd-dbgapi.h:920
A dispatch packet on the queue has an invalid workgroup size.
Definition: amd-dbgapi.h:2886
No more watchpoints available.
Definition: amd-dbgapi.h:933
Opaque hardware data watchpoint handle.
Definition: amd-dbgapi.h:4563
amd_dbgapi_wave_stop_reasons_t
A bit mask of the reasons that a wave stopped.
Definition: amd-dbgapi.h:3708
Return the wave of a AMD_DBGAPI_EVENT_KIND_WAVE_STOP or AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED...
Definition: amd-dbgapi.h:6894
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.
uint64_t handle
Definition: amd-dbgapi.h:7088
Return the breakpoint of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:6899
Print no messages.
Definition: amd-dbgapi.h:7016
A wave on the queue had an exception due to accessing an invalid memory address.
Definition: amd-dbgapi.h:2861
Return the architecture of this wave.
Definition: amd-dbgapi.h:3578
Changing the value of the register may change a register of the same wavefront with the AMD_DBGAPI_RE...
Definition: amd-dbgapi.h:5002
Opaque workgroup handle.
Definition: amd-dbgapi.h:3317
amd_dbgapi_log_level_t
The logging levels supported.
Definition: amd-dbgapi.h:7011
Return the process to which this code object belongs.
Definition: amd-dbgapi.h:2260
The byte size of the created watchpoint.
Definition: amd-dbgapi.h:4596
The watchpoint handle is invalid.
Definition: amd-dbgapi.h:929
Return the dispatch to which this workgroup belongs.
Definition: amd-dbgapi.h:3345
No forward progress is needed.
Definition: amd-dbgapi.h:2022
uint64_t amd_dbgapi_os_agent_id_t
Native operating system agent ID.
Definition: amd-dbgapi.h:695
PCI slot of the agent in BDF format (see [Bus:Device.Function (BDF) Notation][bfd].
Definition: amd-dbgapi.h:2492
The instruction enters the trap handler.
Definition: amd-dbgapi.h:1527
The function has executed successfully.
Definition: amd-dbgapi.h:770
The value has changed.
Definition: amd-dbgapi.h:645
Read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4688
The wave stopped due to executing a breakpoint instruction.
Definition: amd-dbgapi.h:3720
The instruction has some form of special behavior not covered by any of the other instruction kinds...
Definition: amd-dbgapi.h:1554
The wave is not stopped.
Definition: amd-dbgapi.h:895
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...
A wave on the queue executed an illegal instruction.
Definition: amd-dbgapi.h:2848
amd_dbgapi_queue_state_t
Queue state.
Definition: amd-dbgapi.h:2783
Return the agent to which this workgroup belongs.
Definition: amd-dbgapi.h:3355
Queue supports the AMD SDMA protocol.
Definition: amd-dbgapi.h:745
The code object handle is invalid.
Definition: amd-dbgapi.h:862
The wave stopped due to triggering a data watchpoint.
Definition: amd-dbgapi.h:3732
Return the dispatch barrier setting.
Definition: amd-dbgapi.h:3099
#define AMD_DBGAPI_VERSION_0_54
The function was introduced in version 0.54 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:546
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.
The inferior's runtime has put a queue into the queue error state due to exceptions being reported fo...
Definition: amd-dbgapi.h:6807
amd_dbgapi_event_info_t
Event queries that are supported by amd_dbgapi_event_get_info.
Definition: amd-dbgapi.h:6877
amd_dbgapi_runtime_state_t
Inferior's runtime state.
Definition: amd-dbgapi.h:6852
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize(void) AMD_DBGAPI_VERSION_0_54
Finalize the library.
Resume execution.
Definition: amd-dbgapi.h:7163
PCI vendor ID of the agent.
Definition: amd-dbgapi.h:2496
The list of code objects has changed.
Definition: amd-dbgapi.h:6745
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.
Return the wave's state.
Definition: amd-dbgapi.h:3518
Return the dispatch release fence.
Definition: amd-dbgapi.h:3109
The requested information is not available.
Definition: amd-dbgapi.h:806
Return the queue to which this wave belongs.
Definition: amd-dbgapi.h:3563
The instruction unconditionally branches to a literal address.
Definition: amd-dbgapi.h:1462
uint64_t handle
Definition: amd-dbgapi.h:3319
The breakpoint handle is invalid.
Definition: amd-dbgapi.h:969
Return the reason the wave stopped as a bit set.
Definition: amd-dbgapi.h:3525
The library is already initialized.
Definition: amd-dbgapi.h:822
amd_dbgapi_code_object_info_t
Code object queries that are supported by amd_dbgapi_code_object_get_info.
Definition: amd-dbgapi.h:2254
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.
Return the agent to which this queue belongs.
Definition: amd-dbgapi.h:2693
amd_dbgapi_status_t(* insert_breakpoint)(amd_dbgapi_client_process_id_t client_process_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:7358
#define AMD_DBGAPI_VERSION_0_70
The function was introduced in version 0.70 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:588
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:684
The instruction unconditionally branches to an address held in a pair of registers.
Definition: amd-dbgapi.h:1477
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...
#define AMD_DBGAPI
Definition: amd-dbgapi.h:496
A command for a wave was not able to complete because the wave has terminated.
Definition: amd-dbgapi.h:6723
Return the byte size of an address in the address space.
Definition: amd-dbgapi.h:5905
Agent name.
Definition: amd-dbgapi.h:2467
The lane handle is invalid.
Definition: amd-dbgapi.h:945
void AMD_DBGAPI amd_dbgapi_set_log_level(amd_dbgapi_log_level_t level) AMD_DBGAPI_VERSION_0_54
Set the logging level.
The wave handle is invalid.
Definition: amd-dbgapi.h:891
Opaque code object handle.
Definition: amd-dbgapi.h:2237
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_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.
Return the agent state.
Definition: amd-dbgapi.h:2482
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:6273
Return the AMD GPU DWARF address space number for the address space's architecture.
Definition: amd-dbgapi.h:5920
amd_dbgapi_address_class_info_t
Source language address class queries that are supported by amd_dbgapi_address_class_get_info.
Definition: amd-dbgapi.h:5676
uint64_t handle
Definition: amd-dbgapi.h:4313
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.
The wave stopped due to triggering an enabled floating point divide by zero exception.
Definition: amd-dbgapi.h:3752
Return the address space access.
Definition: amd-dbgapi.h:5915
PCI domain the agent is in.
Definition: amd-dbgapi.h:2486
The process is already frozen.
Definition: amd-dbgapi.h:1002
The register class handle is invalid.
Definition: amd-dbgapi.h:937
If none of the bits are set, then amd_dbgapi_wave_stop stopped the wave.
Definition: amd-dbgapi.h:3714
Return the dispatch completion event address.
Definition: amd-dbgapi.h:3159
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.
Return the architecture of this workgroup.
Definition: amd-dbgapi.h:3365
amd_dbgapi_register_class_state_t
Indication of whether a register is a member of a register class.
Definition: amd-dbgapi.h:5344
Encoding is done using big endian.
Definition: amd-dbgapi.h:1699
The instruction unconditionally halts the wave.
Definition: amd-dbgapi.h:1532
Return the number of data watchpoints supported by the process.
Definition: amd-dbgapi.h:1744
uint64_t handle
Definition: amd-dbgapi.h:4832
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_watchpoint_kind_t
Watchpoint memory access kinds.
Definition: amd-dbgapi.h:4674
The notifier for the process that indicates if pending events are available.
Definition: amd-dbgapi.h:1738
void(* log_message)(amd_dbgapi_log_level_t level, const char *message)
Report a log message.
Definition: amd-dbgapi.h:7447
The wave stopped due to triggering an enabled floating point overflow exception.
Definition: amd-dbgapi.h:3760
Return the dispatch acquire fence.
Definition: amd-dbgapi.h:3104
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.
Opaque event handle.
Definition: amd-dbgapi.h:6685
#define AMD_DBGAPI_VERSION_0_76
The function was introduced in version 0.76 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:594
The runtime support in the inferior is enabled or disabled.
Definition: amd-dbgapi.h:6773
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.
Normal progress is needed.
Definition: amd-dbgapi.h:1998
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_watchpoint_id_t * watchpoint_ids
Definition: amd-dbgapi.h:4705
Return the process to which this breakpoint belongs.
Definition: amd-dbgapi.h:7109
A wave on the queue executed a trap instruction used to abort a dispatch.
Definition: amd-dbgapi.h:2818
Return the dispatch to which this wave belongs.
Definition: amd-dbgapi.h:3558
AMDGPU corefile state data for a process.
Definition: amd-dbgapi.h:1708
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_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 th...
An invalid combination of arguments was given to the function.
Definition: amd-dbgapi.h:818
Return the queue packet ID of the dispatch packet that initiated the dispatch.
Definition: amd-dbgapi.h:3094
amd_dbgapi_event_kind_t
The event kinds.
Definition: amd-dbgapi.h:6699
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.
A dispatch packet on the queue requires too many registers.
Definition: amd-dbgapi.h:2890
Return the register class name.
Definition: amd-dbgapi.h:4861
The instruction unconditionally branches to an address held in a pair of source registers and the add...
Definition: amd-dbgapi.h:1508
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.
The wave has an outstanding stop request.
Definition: amd-dbgapi.h:903
The library is not initialized.
Definition: amd-dbgapi.h:826
The symbol was not found.
Definition: amd-dbgapi.h:981
Write access by store instructions or read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4684
#define AMD_DBGAPI_VERSION_0_64
The function was introduced in version 0.64 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:570
Return the register handle for the PC for the architecture.
Definition: amd-dbgapi.h:1252
amd_dbgapi_status_t(* client_process_get_info)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_client_process_info_t query, size_t value_size, void *value)
Query information about the client process.
Definition: amd-dbgapi.h:7318
amd_dbgapi_address_space_access_t
Indication of how the address space is accessed.
Definition: amd-dbgapi.h:5866
Queue supports the AMD SDMA XGMI protocol.
Definition: amd-dbgapi.h:749
The bytes being disassembled are not a legal instruction.
Definition: amd-dbgapi.h:858
uint64_t handle
Definition: amd-dbgapi.h:2672
Reading or writing the segment address depends on the workgroup.
Definition: amd-dbgapi.h:6214
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:6067
The instruction has no properties.
Definition: amd-dbgapi.h:1565
#define AMD_DBGAPI_VERSION_0_67
The function was introduced in version 0.67 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:576
A wave on the queue executed an instruction that caused an exception.
Definition: amd-dbgapi.h:2828
Return the AMD GPU DWARF register number for the register's architecture.
Definition: amd-dbgapi.h:5099
Dispatch has a barrier.
Definition: amd-dbgapi.h:3223
Return the breakpoint instruction for the architecture.
Definition: amd-dbgapi.h:1241
uint64_t amd_dbgapi_os_queue_packet_id_t
Native operating system queue packet ID.
Definition: amd-dbgapi.h:717
The value has not changed.
Definition: amd-dbgapi.h:641
The instruction conditionally branches to a literal address.
Definition: amd-dbgapi.h:1469
The URI name of the ELF shared object from which the code object was loaded.
Definition: amd-dbgapi.h:2316
Opaque address space handle.
Definition: amd-dbgapi.h:5843
The ELF AMD GPU machine value is invalid or unsupported.
Definition: amd-dbgapi.h:866
amd_dbgapi_client_process_info_t
Client queries that are supported by the client_process_get_info callback.
Definition: amd-dbgapi.h:7229
The difference between the address in the ELF shared object and the address the code object is loaded...
Definition: amd-dbgapi.h:2322
The address space supports all accesses.
Definition: amd-dbgapi.h:5872
The register handle is invalid.
Definition: amd-dbgapi.h:941
The wave stopped due to executing a debug trap instruction.
Definition: amd-dbgapi.h:3807
The wave stopped due to triggering an enabled floating point inexact exception.
Definition: amd-dbgapi.h:3776
Memory instructions execute normally and a wave does not wait for the memory access to complete...
Definition: amd-dbgapi.h:6604
Reading or writing the segment address depends on the process.
Definition: amd-dbgapi.h:6222
Native operating system process ID.
Definition: amd-dbgapi.h:1770
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_process_info_t
Process queries that are supported by amd_dbgapi_process_get_info.
Definition: amd-dbgapi.h:1732
Return the queue of a AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR event.
Definition: amd-dbgapi.h:6916
uint64_t handle
Definition: amd-dbgapi.h:3052
The register is not a member of the register class.
Definition: amd-dbgapi.h:5349
The address class handle is invalid.
Definition: amd-dbgapi.h:949
amd_dbgapi_workgroup_info_t
Workgroup queries that are supported by amd_dbgapi_workgroup_get_info.
Definition: amd-dbgapi.h:3334
A wave has stopped.
Definition: amd-dbgapi.h:6708
Return the process to which this dispatch belongs.
Definition: amd-dbgapi.h:3083
amd_dbgapi_architecture_info_t
Architecture queries that are supported by amd_dbgapi_architecture_get_info.
Definition: amd-dbgapi.h:1201
#define AMD_DBGAPI_VERSION_0_62
The function was introduced in version 0.62 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:564
Return the process to which this wave belongs.
Definition: amd-dbgapi.h:3573
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.
Opaque register handle.
Definition: amd-dbgapi.h:4960
Return the register's properties.
Definition: amd-dbgapi.h:5104
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_dispatch_fence_scope_t
Dispatch memory fence scope.
Definition: amd-dbgapi.h:3232
Return the architecture to which this register belongs.
Definition: amd-dbgapi.h:5017
Agent does not support debugging.
Definition: amd-dbgapi.h:2547
The watchpoints of a process are shared between all processes.
Definition: amd-dbgapi.h:4665
If none of the bits are set, then the queue is not in the error state.
Definition: amd-dbgapi.h:2814
Maximum number of waves supported by an execution unit.
Definition: amd-dbgapi.h:2510
The event handle is invalid.
Definition: amd-dbgapi.h:965
Normal wave creation allows new waves to be created.
Definition: amd-dbgapi.h:2073
Return the dispatch group segment size in bytes.
Definition: amd-dbgapi.h:3134
This operation is not allowed when the process is frozen.
Definition: amd-dbgapi.h:998
Return the address space name.
Definition: amd-dbgapi.h:5900
This operation is not allowed when the process is not frozen.
Definition: amd-dbgapi.h:1006
Return the size in bytes of the memory holding the queue packets.
Definition: amd-dbgapi.h:2730
pid_t amd_dbgapi_os_process_id_t
Native operating system process ID.
Definition: amd-dbgapi.h:656
Encoding is done using little endian.
Definition: amd-dbgapi.h:1702
Return the architecture name.
Definition: amd-dbgapi.h:1209
Return the agent to which this dispatch belongs.
Definition: amd-dbgapi.h:3078
The wave stopped due to completing an instruction single-step.
Definition: amd-dbgapi.h:3736
The displaced stepping handle is invalid.
Definition: amd-dbgapi.h:911
Resume execution in in single step mode.
Definition: amd-dbgapi.h:4049
A fatal error has occurred.
Definition: amd-dbgapi.h:796
amd_dbgapi_queue_info_t
Queue queries that are supported by amd_dbgapi_queue_get_info.
Definition: amd-dbgapi.h:2687
The inferior's runtime has been loaded and debugging is supported by the library. ...
Definition: amd-dbgapi.h:6858
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.
The segment address in the address space is not a member of the source language address class...
Definition: amd-dbgapi.h:6279
Return the dispatch kernel code entry address.
Definition: amd-dbgapi.h:3149
amd_dbgapi_register_info_t
Register queries that are supported by amd_dbgapi_register_get_info.
Definition: amd-dbgapi.h:5011
Return the process to which this event belongs.
Definition: amd-dbgapi.h:6883
uint64_t handle
Definition: amd-dbgapi.h:2440
size_t count
Definition: amd-dbgapi.h:4704
No dependence is available.
Definition: amd-dbgapi.h:6202
The watchpoints are not shared across processes.
Definition: amd-dbgapi.h:4659
amd_dbgapi_register_class_info_t
Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info.
Definition: amd-dbgapi.h:4848
Return the agent to which this wave belongs.
Definition: amd-dbgapi.h:3568
The wave stopped due to an aperture violation.
Definition: amd-dbgapi.h:3864
Agent supports debugging.
Definition: amd-dbgapi.h:2526
Request to resume a host breakpoint.
Definition: amd-dbgapi.h:6758
The process handle is invalid.
Definition: amd-dbgapi.h:870
The instruction conditionally branches to an address held in a pair of registers. ...
Definition: amd-dbgapi.h:1487
Return the architecture specific address space that is used to implement a pointer or reference to th...
Definition: amd-dbgapi.h:5693
amd_dbgapi_watchpoint_info_t
Watchpoint queries that are supported by amd_dbgapi_watchpoint_get_info.
Definition: amd-dbgapi.h:4580
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.
The instruction unconditionally branches to a literal address and the address of the following instru...
Definition: amd-dbgapi.h:1498
The address space handle is invalid.
Definition: amd-dbgapi.h:953
Print fatal error, warning, and info messages.
Definition: amd-dbgapi.h:7029
Opaque dispatch handle.
Definition: amd-dbgapi.h:3050
Return the base address of the memory holding the queue packets.
Definition: amd-dbgapi.h:2725
Return the client thread of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:6904
The instruction executes sequentially.
Definition: amd-dbgapi.h:1456
The wave has the register.
Definition: amd-dbgapi.h:5166
Return the queue to which this dispatch belongs.
Definition: amd-dbgapi.h:3073
The inferior's runtime has been loaded but there is a restriction error that prevents debugging the p...
Definition: amd-dbgapi.h:6868
Return if the runtime loaded in the inferior is supported by the library for a AMD_DBGAPI_EVENT_KIND_...
Definition: amd-dbgapi.h:6911
amd_dbgapi_segment_address_dependency_t
The dependency when reading or writing a specific segment address of an address space using the amd_d...
Definition: amd-dbgapi.h:6197
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.
Callbacks that the client of the library must provide.
Definition: amd-dbgapi.h:7260
amd_dbgapi_instruction_properties_t
A bit mask of the properties of an instruction.
Definition: amd-dbgapi.h:1560
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.
A dispatch packet on the queue has an invalid dimension.
Definition: amd-dbgapi.h:2870
There is a restriction error that prevents the operation to complete.
Definition: amd-dbgapi.h:846
The wave stopped due to executing a trap instruction other than the AMD_DBGAPI_WAVE_STOP_REASON_DEBUG...
Definition: amd-dbgapi.h:3833
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.
Return the breakpoint instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1233
Return the dispatch private segment size in bytes.
Definition: amd-dbgapi.h:3129
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.
Opaque source language address class handle.
Definition: amd-dbgapi.h:5658
A wave on the queue executed an instruction that had a floating point or integer enabled exception co...
Definition: amd-dbgapi.h:2844
No more displaced stepping buffers are available that are suitable for the requested wave...
Definition: amd-dbgapi.h:916
Unknown queue type.
Definition: amd-dbgapi.h:733
Return the process to which this queue belongs.
Definition: amd-dbgapi.h:2698
Return a blob containing the content to put in the state note when generating a core dump...
Definition: amd-dbgapi.h:1780
amd_dbgapi_progress_t
The kinds of progress supported by the library.
Definition: amd-dbgapi.h:1991
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_breakpoint_info_t
Breakpoint queries that are supported by amd_dbgapi_breakpoint_get_info.
Definition: amd-dbgapi.h:7103
amd_dbgapi_agent_state_t
Agent state.
Definition: amd-dbgapi.h:2521
Return the set of exceptions that caused the queue to enter the queue error state.
Definition: amd-dbgapi.h:2720
amd_dbgapi_endianness_t endianness
Endianness encoding of the core state.
Definition: amd-dbgapi.h:1711
The operation is not currently implemented.
Definition: amd-dbgapi.h:802
amd_dbgapi_register_properties_t
A bit mask on register properties.
Definition: amd-dbgapi.h:4977
amd_dbgapi_memory_precision_t
Memory access precision.
Definition: amd-dbgapi.h:6598
uint64_t handle
Definition: amd-dbgapi.h:2239
Reading or writing the segment address depends on the lane.
Definition: amd-dbgapi.h:6206
Return the process to which this watchpoint belongs.
Definition: amd-dbgapi.h:4586
Opaque wave handle.
Definition: amd-dbgapi.h:3495
The current process state is not compatible with the requested operation.
Definition: amd-dbgapi.h:994
Return the number of bytes to subtract from the PC after stopping due to a breakpoint instruction to ...
Definition: amd-dbgapi.h:1247
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.
uint64_t handle
Definition: amd-dbgapi.h:3497
#define AMD_DBGAPI_VERSION_0_68
The function was introduced in version 0.68 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:582
Return the largest instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1222
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_address_space_info_t
Address space queries that are supported by amd_dbgapi_address_space_get_info.
Definition: amd-dbgapi.h:5892
Return the minimum instruction alignment in bytes for the architecture.
Definition: amd-dbgapi.h:1228
The native operating system process associated with a client process has exited.
Definition: amd-dbgapi.h:875
The instruction performs some kind of execution barrier which may result in the wave being halted unt...
Definition: amd-dbgapi.h:1539
The wave stopped due to triggering an enabled floating point input denormal exception.
Definition: amd-dbgapi.h:3744
Stop wave creation prevents new waves from being created.
Definition: amd-dbgapi.h:2077
Native operating system agent ID.
Definition: amd-dbgapi.h:2515
Return the dispatch kernel descriptor address.
Definition: amd-dbgapi.h:3144
The wave is running.
Definition: amd-dbgapi.h:3681
No event.
Definition: amd-dbgapi.h:6704
Resume normal execution.
Definition: amd-dbgapi.h:4045
amd_dbgapi_exceptions_t
A bit mask of the exceptions that can cause a queue to enter the queue error state.
Definition: amd-dbgapi.h:2809
The operation is not supported.
Definition: amd-dbgapi.h:810
uint64_t handle
Definition: amd-dbgapi.h:4962
uint64_t handle
Definition: amd-dbgapi.h:5845
The workgroup workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3376
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.
The workgroup handle is invalid.
Definition: amd-dbgapi.h:990
Return the dispatch grid dimensionality.
Definition: amd-dbgapi.h:3114
uint64_t amd_dbgapi_size_t
Integral type used for sizes, including memory allocations, in the inferior.
Definition: amd-dbgapi.h:631
Return the NULL segment address value in the address space.
Definition: amd-dbgapi.h:5910
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.
Return the queue to which this workgroup belongs.
Definition: amd-dbgapi.h:3350
The register handle is valid, but specifies a register that is not allocated in the associated wave...
Definition: amd-dbgapi.h:986
#define DEPRECATED
Old deprecated name kept for backward compatibility.
Definition: amd-dbgapi.h:513
Return the dispatch kernel argument segment address.
Definition: amd-dbgapi.h:3139
Return the architecture of this queue.
Definition: amd-dbgapi.h:2703
Return the workgroup to which this wave belongs.
Definition: amd-dbgapi.h:3548
The register is a member of the register class.
Definition: amd-dbgapi.h:5353
Return the architecture of this agent.
Definition: amd-dbgapi.h:2477
There was an error preempting the queue.
Definition: amd-dbgapi.h:2903
Return the process to which this workgroup belongs.
Definition: amd-dbgapi.h:3360
Queue supports the HSA AQL protocol.
Definition: amd-dbgapi.h:737
Return the process to which this displaced stepping buffer belongs.
Definition: amd-dbgapi.h:4335
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.
Print fatal error, warning, info, and API tracing messages.
Definition: amd-dbgapi.h:7033
A wave on the queue had a memory violation.
Definition: amd-dbgapi.h:2854
Total number of Execution Units (EUs) available in the agent.
Definition: amd-dbgapi.h:2505
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_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_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.
A callback to the client reported an error.
Definition: amd-dbgapi.h:973
amd_dbgapi_os_queue_type_t
Native operating system queue type.
Definition: amd-dbgapi.h:728
amd_dbgapi_resume_mode_t
The mode in which to resuming the execution of a wave.
Definition: amd-dbgapi.h:4040
size_t size
Size, in bytes, of the buffer pointed by amd_dbgapi_core_state_data_t::data.
Definition: amd-dbgapi.h:1715
A dispatch packet on the queue has a NULL code address.
Definition: amd-dbgapi.h:2878
Return the native operating system process handle.
Definition: amd-dbgapi.h:7241
amd_dbgapi_status_t
AMD debugger API status codes.
Definition: amd-dbgapi.h:765
Return the current program counter value of the wave.
Definition: amd-dbgapi.h:3584
The agent handle is invalid.
Definition: amd-dbgapi.h:879
The base address of the created watchpoint.
Definition: amd-dbgapi.h:4591
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_initialize(amd_dbgapi_callbacks_t *callbacks) AMD_DBGAPI_VERSION_0_76
Initialize the library.
Return the AMD GPU DWARF address class number for the address class' architecture.
Definition: amd-dbgapi.h:5698
The architecture handle is invalid.
Definition: amd-dbgapi.h:854
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.
Leave execution halted.
Definition: amd-dbgapi.h:7167
At least one bit of the register value is readonly.
Definition: amd-dbgapi.h:4988
Opaque architecture handle.
Definition: amd-dbgapi.h:1183
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_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_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.
The wave stopped due to triggering an enabled floating point underflow exception. ...
Definition: amd-dbgapi.h:3768
Return the queue type.
Definition: amd-dbgapi.h:2708
amd_dbgapi_wave_info_t
Wave queries that are supported by amd_dbgapi_wave_get_info.
Definition: amd-dbgapi.h:3512
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.
uint64_t handle
Definition: amd-dbgapi.h:5660
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.
Return the queue state.
Definition: amd-dbgapi.h:2713
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 archit...
The wave is stopped.
Definition: amd-dbgapi.h:3699
Return the process to which this agent belongs.
Definition: amd-dbgapi.h:2461
Reading or writing the segment address depends on the agent.
Definition: amd-dbgapi.h:6218
A packet on the queue has an invalid vendor code.
Definition: amd-dbgapi.h:2894
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.
Queue is in the queue error state.
Definition: amd-dbgapi.h:2802
struct amd_dbgapi_symbolizer_id_s * amd_dbgapi_symbolizer_id_t
Opaque client symbolizer handle.
Definition: amd-dbgapi.h:1336
An error occurred while trying to access memory in the inferior.
Definition: amd-dbgapi.h:957
A generic error has occurred.
Definition: amd-dbgapi.h:774
A dispatch packet on the queue has an invalid group segment size.
Definition: amd-dbgapi.h:2874
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.
The process is already attached to the given inferior process.
Definition: amd-dbgapi.h:850
struct amd_dbgapi_client_process_s * amd_dbgapi_client_process_id_t
Opaque client process handle.
Definition: amd-dbgapi.h:1670
amd_dbgapi_displaced_stepping_info_t
Displaced stepping queries that are supported by amd_dbgapi_displaced_stepping_id_t.
Definition: amd-dbgapi.h:4329
Dispatch has no barrier.
Definition: amd-dbgapi.h:3218
The wave stopped due to executing an illegal instruction.
Definition: amd-dbgapi.h:3878
amd_dbgapi_watchpoint_share_kind_t
The way watchpoints are shared between processes.
Definition: amd-dbgapi.h:4648
The dispatch handle is invalid.
Definition: amd-dbgapi.h:887
amd_dbgapi_instruction_kind_t
The kinds of instruction classifications.
Definition: amd-dbgapi.h:1444
Read, write, or read-modify-write access by load, store, or atomic instructions.
Definition: amd-dbgapi.h:4693
Return the watchpoint(s) the wave triggered.
Definition: amd-dbgapi.h:3538
A packet on the queue has an unsupported code.
Definition: amd-dbgapi.h:2882
struct amd_dbgapi_client_thread_s * amd_dbgapi_client_thread_id_t
Opaque client thread handle.
Definition: amd-dbgapi.h:7179
Return the register name.
Definition: amd-dbgapi.h:5024
The wave workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3603
Return if the architectures of all the agents of a process support controlling memory precision...
Definition: amd-dbgapi.h:1756
Print fatal error, warning, info, API tracing, and verbose messages.
Definition: amd-dbgapi.h:7037
The queue handle is invalid.
Definition: amd-dbgapi.h:883
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:7393
The wave stopped due to triggering an enabled integer divide by zero exception.
Definition: amd-dbgapi.h:3792
PCI device ID of the agent.
Definition: amd-dbgapi.h:2500
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.
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.
Return the register type as a C style type string.
Definition: amd-dbgapi.h:5090
amd_dbgapi_dispatch_info_t
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Definition: amd-dbgapi.h:3067
amd_dbgapi_endianness_t
Byte endianness encoding.
Definition: amd-dbgapi.h:1696
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_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_76
Query information about a process.
#define AMD_DBGAPI_VERSION_0_58
The function was introduced in version 0.58 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:558
The wave stopped after causing a hardware fatal halt.
Definition: amd-dbgapi.h:3898
The wave cannot be resumed in the manner requested due to displaced stepping restrictions.
Definition: amd-dbgapi.h:925
Opaque breakpoint handle.
Definition: amd-dbgapi.h:7086
Return the current execution mask of the wave.
Definition: amd-dbgapi.h:3592
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.