AMD_DBGAPI  0.67.0
amd-dbgapi.h
Go to the documentation of this file.
1 /* Copyright (c) 2019-2022 Advanced Micro Devices, Inc.
2 
3  Permission is hereby granted, free of charge, to any person obtaining a copy
4  of this software and associated documentation files (the "Software"), to deal
5  in the Software without restriction, including without limitation the rights
6  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7  copies of the Software, and to permit persons to whom the Software is
8  furnished to do so, subject to the following conditions:
9 
10  The above copyright notice and this permission notice shall be included in
11  all copies or substantial portions of the Software.
12 
13  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19  THE SOFTWARE. */
20 
433 #ifndef AMD_DBGAPI_H
434 #define AMD_DBGAPI_H 1
435 
436 /* Placeholder for calling convention and import/export macros */
437 #if !defined(AMD_DBGAPI_CALL)
438 #define AMD_DBGAPI_CALL
439 #endif /* !defined (AMD_DBGAPI_CALL) */
440 
441 #if !defined(AMD_DBGAPI_EXPORT_DECORATOR)
442 #if defined(__GNUC__)
443 #define AMD_DBGAPI_EXPORT_DECORATOR __attribute__ ((visibility ("default")))
444 #elif defined(_MSC_VER)
445 #define AMD_DBGAPI_EXPORT_DECORATOR __declspec(dllexport)
446 #endif /* defined (_MSC_VER) */
447 #endif /* !defined (AMD_DBGAPI_EXPORT_DECORATOR) */
448 
449 #if !defined(AMD_DBGAPI_IMPORT_DECORATOR)
450 #if defined(__GNUC__)
451 #define AMD_DBGAPI_IMPORT_DECORATOR
452 #elif defined(_MSC_VER)
453 #define AMD_DBGAPI_IMPORT_DECORATOR __declspec(dllimport)
454 #endif /* defined (_MSC_VER) */
455 #endif /* !defined (AMD_DBGAPI_IMPORT_DECORATOR) */
456 
457 #define AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL
458 #define AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL
459 
460 #if !defined(AMD_DBGAPI)
461 #if defined(AMD_DBGAPI_EXPORTS)
462 #define AMD_DBGAPI AMD_DBGAPI_EXPORT
463 #else /* !defined (AMD_DBGAPI_EXPORTS) */
464 #define AMD_DBGAPI AMD_DBGAPI_IMPORT
465 #endif /* !defined (AMD_DBGAPI_EXPORTS) */
466 #endif /* !defined (AMD_DBGAPI) */
467 
468 #if __cplusplus >= 201103L
469 /* c++11 allows extended initializer lists. */
470 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) (type{ value })
471 #elif __STDC_VERSION__ >= 199901L
472 /* c99 allows compound literals. */
473 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) ((type){ value })
474 #else /* !__STDC_VERSION__ >= 199901L */
475 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) {value}
476 #endif /* !__STDC_VERSION__ >= 199901L */
477 
478 #if defined(__cplusplus)
479 extern "C" {
480 #endif /* defined (__cplusplus) */
481 
482 #if defined(__linux__)
483 #include <sys/types.h>
484 #endif /* __linux__ */
485 
486 #include <stddef.h>
487 #include <stdint.h>
488 
508 #define AMD_DBGAPI_VERSION_0_54
509 
514 #define AMD_DBGAPI_VERSION_0_56
515 
520 #define AMD_DBGAPI_VERSION_0_58
521 
526 #define AMD_DBGAPI_VERSION_0_62
527 
532 #define AMD_DBGAPI_VERSION_0_64
533 
538 #define AMD_DBGAPI_VERSION_0_67
539 
547 
571 
575 typedef uint64_t amd_dbgapi_size_t;
576 
580 typedef enum
581 {
591 
599 #if defined(__linux__)
601 #endif /* __linux__ */
602 
627 #if defined(__linux__)
629 #endif /* __linux__ */
630 
638 #if defined(__linux__)
639 typedef uint64_t amd_dbgapi_os_agent_id_t;
640 #endif /* __linux__ */
641 
648 #if defined(__linux__)
649 typedef uint64_t amd_dbgapi_os_queue_id_t;
650 #endif /* __linux__ */
651 
660 #if defined(__linux__)
662 #endif /* __linux__ */
663 
671 #if defined(__linux__)
672 typedef enum
673 {
733 #endif /* __linux__ */
734 
747 typedef enum
748 {
970 
988  amd_dbgapi_status_t status,
989  const char **status_string) AMD_DBGAPI_VERSION_0_54;
990 
1014 #define AMD_DBGAPI_VERSION_MAJOR 0
1015 
1020 #define AMD_DBGAPI_VERSION_MINOR 67
1021 
1036  uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_54;
1037 
1046 const char AMD_DBGAPI *
1047 amd_dbgapi_get_build_name (void) AMD_DBGAPI_VERSION_0_54;
1048 
1095  amd_dbgapi_callbacks_t *callbacks) AMD_DBGAPI_VERSION_0_54;
1096 
1122  AMD_DBGAPI_VERSION_0_54;
1123 
1145 typedef struct
1146 {
1147  uint64_t handle;
1149 
1153 #define AMD_DBGAPI_ARCHITECTURE_NONE \
1154  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_architecture_id_t, 0)
1155 
1163 typedef enum
1164 {
1216 
1256  amd_dbgapi_architecture_id_t architecture_id,
1257  amd_dbgapi_architecture_info_t query, size_t value_size,
1258  void *value) AMD_DBGAPI_VERSION_0_54;
1259 
1289  uint32_t elf_amdgpu_machine,
1291 
1298 typedef struct amd_dbgapi_symbolizer_id_s *amd_dbgapi_symbolizer_id_t;
1299 
1394  amd_dbgapi_architecture_id_t architecture_id,
1395  amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1396  const void *memory, char **instruction_text,
1397  amd_dbgapi_symbolizer_id_t symbolizer_id,
1398  amd_dbgapi_status_t (*symbolizer) (
1399  amd_dbgapi_symbolizer_id_t symbolizer_id,
1400  amd_dbgapi_global_address_t address,
1401  char **symbol_text)) AMD_DBGAPI_VERSION_0_54;
1402 
1406 typedef enum
1407 {
1518 
1522 typedef enum
1523 {
1529 
1605  amd_dbgapi_architecture_id_t architecture_id,
1606  amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1607  const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind,
1608  amd_dbgapi_instruction_properties_t *instruction_properties,
1609  void **instruction_information) AMD_DBGAPI_VERSION_0_58;
1610 
1632 typedef struct amd_dbgapi_client_process_s *amd_dbgapi_client_process_id_t;
1633 
1644 typedef struct
1645 {
1646  uint64_t handle;
1648 
1652 #define AMD_DBGAPI_PROCESS_NONE \
1653  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_process_id_t, 0)
1654 
1661 typedef enum
1662 {
1697 
1742  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_56;
1743 
1834  amd_dbgapi_client_process_id_t client_process_id,
1836 
1883 
1898 typedef enum
1899 {
1931 
1957  amd_dbgapi_process_id_t process_id,
1959 
1971 typedef enum
1972 {
1982 
2008  amd_dbgapi_process_id_t process_id,
2010 
2037 typedef struct
2038 {
2039  uint64_t handle;
2041 
2045 #define AMD_DBGAPI_CODE_OBJECT_NONE \
2046  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_code_object_id_t, 0)
2047 
2054 typedef enum
2055 {
2124 
2164  amd_dbgapi_code_object_id_t code_object_id,
2165  amd_dbgapi_code_object_info_t query, size_t value_size,
2166  void *value) AMD_DBGAPI_VERSION_0_54;
2167 
2218  amd_dbgapi_process_id_t process_id, size_t *code_object_count,
2219  amd_dbgapi_code_object_id_t **code_objects,
2221 
2238 typedef struct
2239 {
2240  uint64_t handle;
2242 
2246 #define AMD_DBGAPI_AGENT_NONE \
2247  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_agent_id_t, 0)
2248 
2255 typedef enum
2256 {
2317 
2321 typedef enum
2322 {
2349 
2394  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_67;
2395 
2448  amd_dbgapi_process_id_t process_id, size_t *agent_count,
2449  amd_dbgapi_agent_id_t **agents,
2451 
2470 typedef struct
2471 {
2472  uint64_t handle;
2474 
2478 #define AMD_DBGAPI_QUEUE_NONE \
2479  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_queue_id_t, 0)
2480 
2487 typedef enum
2488 {
2537 
2578  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_58;
2579 
2583 typedef enum
2584 {
2604 
2609 typedef enum
2610 {
2698 
2752  amd_dbgapi_process_id_t process_id, size_t *queue_count,
2753  amd_dbgapi_queue_id_t **queues,
2755 
2820  amd_dbgapi_queue_id_t queue_id,
2821  amd_dbgapi_os_queue_packet_id_t *read_packet_id,
2822  amd_dbgapi_os_queue_packet_id_t *write_packet_id,
2823  size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_54;
2824 
2843 typedef struct
2844 {
2845  uint64_t handle;
2847 
2851 #define AMD_DBGAPI_DISPATCH_NONE \
2852  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_dispatch_id_t, 0)
2853 
2860 typedef enum
2861 {
2954 
2998  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
2999 
3006 typedef enum
3007 {
3018 
3025 typedef enum
3026 {
3040 
3090  amd_dbgapi_process_id_t process_id, size_t *dispatch_count,
3091  amd_dbgapi_dispatch_id_t **dispatches,
3093 
3110 typedef struct
3111 {
3112  uint64_t handle;
3114 
3118 #define AMD_DBGAPI_WORKGROUP_NONE \
3119  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0)
3120 
3127 typedef enum
3128 {
3171 
3216  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3217 
3268  amd_dbgapi_process_id_t process_id, size_t *workgroup_count,
3269  amd_dbgapi_workgroup_id_t **workgroups,
3271 
3288 typedef struct
3289 {
3290  uint64_t handle;
3292 
3296 #define AMD_DBGAPI_WAVE_NONE \
3297  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_wave_id_t, 0)
3298 
3305 typedef enum
3306 {
3415 
3464  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3465 
3469 typedef enum
3470 {
3494 
3501 typedef enum
3502 {
3688 
3737  amd_dbgapi_process_id_t process_id, size_t *wave_count,
3738  amd_dbgapi_wave_id_t **waves,
3740 
3820 
3824 typedef enum
3825 {
3835 
3988  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode,
3990 
4092 typedef struct
4093 {
4094  uint64_t handle;
4096 
4100 #define AMD_DBGAPI_DISPLACED_STEPPING_NONE \
4101  (amd_dbgapi_displaced_stepping_id_t{ 0 })
4102 
4110 typedef enum
4111 {
4118 
4159  amd_dbgapi_displaced_stepping_id_t displaced_stepping_id,
4160  amd_dbgapi_displaced_stepping_info_t query, size_t value_size,
4161  void *value) AMD_DBGAPI_VERSION_0_54;
4162 
4245  amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes,
4246  amd_dbgapi_displaced_stepping_id_t *displaced_stepping)
4248 
4300  amd_dbgapi_wave_id_t wave_id,
4301  amd_dbgapi_displaced_stepping_id_t displaced_stepping)
4303 
4337 typedef struct
4338 {
4339  uint64_t handle;
4341 
4345 #define AMD_DBGAPI_WATCHPOINT_NONE \
4346  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_watchpoint_id_t, 0)
4347 
4354 typedef enum
4355 {
4372 
4412  amd_dbgapi_watchpoint_id_t watchpoint_id,
4413  amd_dbgapi_watchpoint_info_t query, size_t value_size,
4414  void *value) AMD_DBGAPI_VERSION_0_54;
4415 
4422 typedef enum
4423 {
4441 
4448 typedef enum
4449 {
4469 
4476 typedef struct
4477 {
4478  size_t count;
4481 
4550  amd_dbgapi_process_id_t process_id, amd_dbgapi_global_address_t address,
4551  amd_dbgapi_size_t size, amd_dbgapi_watchpoint_kind_t kind,
4553 
4575 
4597 typedef struct
4598 {
4599  uint64_t handle;
4601 
4605 #define AMD_DBGAPI_REGISTER_CLASS_NONE \
4606  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_class_id_t, 0)
4607 
4615 typedef enum
4616 {
4630 
4671  amd_dbgapi_register_class_id_t register_class_id,
4672  amd_dbgapi_register_class_info_t query, size_t value_size,
4673  void *value) AMD_DBGAPI_VERSION_0_54;
4674 
4716  amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count,
4718 
4727 typedef struct
4728 {
4729  uint64_t handle;
4731 
4735 #define AMD_DBGAPI_REGISTER_NONE \
4736  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_id_t, 0)
4737 
4744 typedef enum
4745 {
4771 
4778 typedef enum
4779 {
4869 
4911  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_58;
4912 
4916 typedef enum
4917 {
4927 
4962  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
4964 
5010  amd_dbgapi_architecture_id_t architecture_id, size_t *register_count,
5012 
5057  amd_dbgapi_wave_id_t wave_id, size_t *register_count,
5059 
5097  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register,
5099 
5103 typedef enum
5104 {
5114 
5153  amd_dbgapi_register_class_id_t register_class_id,
5154  amd_dbgapi_register_id_t register_id,
5155  amd_dbgapi_register_class_state_t *register_class_state)
5157 
5215  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5216  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5217  void *value) AMD_DBGAPI_VERSION_0_62;
5218 
5281  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5282  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5283  const void *value) AMD_DBGAPI_VERSION_0_62;
5284 
5339  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5340  amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_62;
5341 
5349 typedef struct
5350 {
5351  amd_dbgapi_global_address_t target_address;
5352  amd_dbgapi_register_id_t saved_return_address_register[2];
5354 
5394 typedef uint32_t amd_dbgapi_lane_id_t;
5395 
5399 #define AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1))
5400 
5414 typedef struct
5415 {
5416  uint64_t handle;
5418 
5422 #define AMD_DBGAPI_ADDRESS_CLASS_NONE \
5423  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_class_id_t, 0)
5424 
5432 typedef enum
5433 {
5456 
5497  amd_dbgapi_address_class_id_t address_class_id,
5498  amd_dbgapi_address_class_info_t query, size_t value_size,
5499  void *value) AMD_DBGAPI_VERSION_0_62;
5500 
5543  amd_dbgapi_architecture_id_t architecture_id, size_t *address_class_count,
5545 
5585  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_class,
5587 
5599 typedef struct
5600 {
5601  uint64_t handle;
5603 
5607 #define AMD_DBGAPI_ADDRESS_SPACE_NONE \
5608  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 0)
5609 
5616 #define AMD_DBGAPI_ADDRESS_SPACE_GLOBAL \
5617  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 1)
5618 
5622 typedef enum
5623 {
5640 
5648 typedef enum
5649 {
5678 
5718  amd_dbgapi_address_space_id_t address_space_id,
5719  amd_dbgapi_address_space_info_t query, size_t value_size,
5720  void *value) AMD_DBGAPI_VERSION_0_62;
5721 
5761  amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count,
5763 
5804  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space,
5806 
5824 
5940  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
5941  amd_dbgapi_address_space_id_t source_address_space_id,
5942  amd_dbgapi_segment_address_t source_segment_address,
5943  amd_dbgapi_address_space_id_t destination_address_space_id,
5944  amd_dbgapi_segment_address_t *destination_segment_address,
5945  amd_dbgapi_size_t *destination_contiguous_bytes)
5947 
5953 typedef enum
5954 {
5980 
6020  amd_dbgapi_address_space_id_t address_space_id,
6021  amd_dbgapi_segment_address_t segment_address,
6022  amd_dbgapi_segment_address_dependency_t *segment_address_dependency)
6024 
6029 typedef enum
6030 {
6042 
6115  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6116  amd_dbgapi_address_space_id_t address_space_id,
6117  amd_dbgapi_segment_address_t segment_address,
6118  amd_dbgapi_address_class_id_t address_class_id,
6119  amd_dbgapi_address_class_state_t *address_class_state)
6121 
6221  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6222  amd_dbgapi_lane_id_t lane_id,
6223  amd_dbgapi_address_space_id_t address_space_id,
6224  amd_dbgapi_segment_address_t segment_address,
6225  amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_54;
6226 
6326  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6327  amd_dbgapi_lane_id_t lane_id,
6328  amd_dbgapi_address_space_id_t address_space_id,
6329  amd_dbgapi_segment_address_t segment_address,
6330  amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_54;
6331 
6350 typedef enum
6351 {
6363 
6403  amd_dbgapi_process_id_t process_id,
6405 
6437 typedef struct
6438 {
6439  uint64_t handle;
6441 
6445 #define AMD_DBGAPI_EVENT_NONE \
6446  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_event_id_t, 0)
6447 
6451 typedef enum
6452 {
6561 
6598  amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id,
6600 
6604 typedef enum
6605 {
6622 
6629 typedef enum
6630 {
6670 
6712  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
6713 
6741 
6763 typedef enum
6764 {
6791 
6812 
6838 typedef struct
6839 {
6840  uint64_t handle;
6842 
6846 #define AMD_DBGAPI_BREAKPOINT_NONE \
6847  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0)
6848 
6855 typedef enum
6856 {
6863 
6903  amd_dbgapi_breakpoint_id_t breakpoint_id,
6904  amd_dbgapi_breakpoint_info_t query, size_t value_size,
6905  void *value) AMD_DBGAPI_VERSION_0_54;
6906 
6910 typedef enum
6911 {
6921 
6931 typedef struct amd_dbgapi_client_thread_s *amd_dbgapi_client_thread_id_t;
6932 
6971  amd_dbgapi_breakpoint_id_t breakpoint_id,
6972  amd_dbgapi_client_thread_id_t client_thread_id,
6974 
6982 {
6983 
6995  void *(*allocate_memory) (size_t byte_size);
6996 
7013  void (*deallocate_memory) (void *data);
7014 
7043  amd_dbgapi_client_process_id_t client_process_id,
7044  amd_dbgapi_os_process_id_t *os_pid);
7045 
7082  amd_dbgapi_client_process_id_t client_process_id,
7083  amd_dbgapi_global_address_t address,
7084  amd_dbgapi_breakpoint_id_t breakpoint_id);
7085 
7117  amd_dbgapi_client_process_id_t client_process_id,
7118  amd_dbgapi_breakpoint_id_t breakpoint_id);
7119 
7128  void (*log_message) (amd_dbgapi_log_level_t level, const char *message);
7129 };
7130 
7133 #if defined(__cplusplus)
7134 } /* extern "C" */
7135 #endif /* defined (__cplusplus) */
7136 
7137 #endif /* amd-dbgapi.h */
Queue supports the AMD PM4 protocol.
Definition: amd-dbgapi.h:723
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:2238
Return the event kind.
Definition: amd-dbgapi.h:6640
The wave stopped due to executing an assert trap instruction.
Definition: amd-dbgapi.h:3616
uint64_t amd_dbgapi_global_address_t
Integral type used for a global virtual memory address in the inferior process.
Definition: amd-dbgapi.h:570
void(* deallocate_memory)(void *data)
Deallocate memory that was allocated by amd_dbgapi_callbacks_s::allocate_memory.
Definition: amd-dbgapi.h:7013
The wave stopped due to detecting an unrecoverable ECC error.
Definition: amd-dbgapi.h:3679
uint64_t handle
Definition: amd-dbgapi.h:6439
uint64_t handle
Definition: amd-dbgapi.h:1147
Return the dispatch grid size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:2917
The address space is only read the waves of a kernel dispatch.
Definition: amd-dbgapi.h:5638
A set of watchpoints.
Definition: amd-dbgapi.h:4476
The wave stopped due to a memory violation.
Definition: amd-dbgapi.h:3642
The wave stopped due to triggering an enabled floating point invalid operation exception.
Definition: amd-dbgapi.h:3577
There are no properties.
Definition: amd-dbgapi.h:4749
A wave waits for memory instructions to complete before executing further instructions.
Definition: amd-dbgapi.h:6361
The client process handle is invalid.
Definition: amd-dbgapi.h:955
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_initialize(amd_dbgapi_callbacks_t *callbacks) AMD_DBGAPI_VERSION_0_54
Initialize the library.
uint64_t amd_dbgapi_os_queue_id_t
Native operating system queue ID.
Definition: amd-dbgapi.h:649
An invalid argument was given to the function.
Definition: amd-dbgapi.h:796
uint64_t handle
Definition: amd-dbgapi.h:4339
Opaque displaced stepping handle.
Definition: amd-dbgapi.h:4092
Print fatal error messages.
Definition: amd-dbgapi.h:6773
There is a fence with system memory scope.
Definition: amd-dbgapi.h:3038
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_wave_stop(amd_dbgapi_wave_id_t wave_id) AMD_DBGAPI_VERSION_0_54
Request a wave to stop executing.
The segment address cannot be converted to the requested address space.
Definition: amd-dbgapi.h:939
The instruction causes the wave to stop executing for some period of time, before continuing executio...
Definition: amd-dbgapi.h:1507
amd_dbgapi_wave_creation_t
The kinds of wave creation supported by the hardware.
Definition: amd-dbgapi.h:1971
Reading or writing the segment address depends on the wavefront.
Definition: amd-dbgapi.h:5966
Queue is in a valid state.
Definition: amd-dbgapi.h:2588
Opaque queue handle.
Definition: amd-dbgapi.h:2470
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:4427
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:6777
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&#39;s runtime has been unloaded.
Definition: amd-dbgapi.h:6614
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:1644
Read access by load instructions.
Definition: amd-dbgapi.h:4453
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_58
Query information about a register.
The instruction classification is unknown.
Definition: amd-dbgapi.h:1412
Native operating system queue ID.
Definition: amd-dbgapi.h:2535
The register value may change as a consequence of changing a register of the same wavefront with the ...
Definition: amd-dbgapi.h:4762
The instruction terminates the wave execution.
Definition: amd-dbgapi.h:1475
The number of lanes supported by the wave.
Definition: amd-dbgapi.h:3413
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_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_58
Query information about a queue.
amd_dbgapi_breakpoint_action_t
The action to perform after reporting a breakpoint has been hit.
Definition: amd-dbgapi.h:6910
Return how watchpoints are shared between processes.
Definition: amd-dbgapi.h:1679
Return the architecture of this dispatch.
Definition: amd-dbgapi.h:2881
Return the source language address class name.
Definition: amd-dbgapi.h:5440
There is a fence with agent memory scope.
Definition: amd-dbgapi.h:3034
The address space is read only.
Definition: amd-dbgapi.h:5633
amd_dbgapi_wave_state_t
The execution state of a wave.
Definition: amd-dbgapi.h:3469
#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:514
Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:2912
uint32_t amd_dbgapi_lane_id_t
A wave lane handle.
Definition: amd-dbgapi.h:5394
Return the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
Definition: amd-dbgapi.h:1179
There is no fence.
Definition: amd-dbgapi.h:3030
Queue supports HSA kernel dispatch with multiple producers protocol that supports cooperative dispatc...
Definition: amd-dbgapi.h:719
The wave is running in single-step mode.
Definition: amd-dbgapi.h:3479
amd_dbgapi_changed_t
Indication of if a value has changed.
Definition: amd-dbgapi.h:580
The wave is stopped.
Definition: amd-dbgapi.h:877
amd_dbgapi_register_exists_t
Indication of if a wave has a register.
Definition: amd-dbgapi.h:4916
The wave&#39;s number in the workgroup.
Definition: amd-dbgapi.h:3408
The wave cannot be resumed.
Definition: amd-dbgapi.h:885
The wave does not have the register.
Definition: amd-dbgapi.h:4921
Opaque register class handle.
Definition: amd-dbgapi.h:4597
uint64_t handle
Definition: amd-dbgapi.h:1646
The segment address in the address space is a member of the source language address class...
Definition: amd-dbgapi.h:6040
Return the architecture to which this register class belongs.
Definition: amd-dbgapi.h:4621
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:2255
amd_dbgapi_dispatch_barrier_t
Dispatch barrier.
Definition: amd-dbgapi.h:3006
Return the size of the register in bytes.
Definition: amd-dbgapi.h:4796
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_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:898
A dispatch packet on the queue has an invalid workgroup size.
Definition: amd-dbgapi.h:2679
Instruction information for direct call instructions.
Definition: amd-dbgapi.h:5349
amd_dbgapi_global_address_t target_address
Definition: amd-dbgapi.h:5351
No more watchpoints available.
Definition: amd-dbgapi.h:911
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_62
Set a hardware data watchpoint.
Opaque hardware data watchpoint handle.
Definition: amd-dbgapi.h:4337
amd_dbgapi_wave_stop_reasons_t
A bit mask of the reasons that a wave stopped.
Definition: amd-dbgapi.h:3501
Return the wave of a AMD_DBGAPI_EVENT_KIND_WAVE_STOP or AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED...
Definition: amd-dbgapi.h:6646
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:6840
Return the breakpoint of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:6651
Print no messages.
Definition: amd-dbgapi.h:6768
Return the architecture of this wave.
Definition: amd-dbgapi.h:3371
Changing the value of the register may change a register of the same wavefront with the AMD_DBGAPI_RE...
Definition: amd-dbgapi.h:4769
Opaque workgroup handle.
Definition: amd-dbgapi.h:3110
amd_dbgapi_log_level_t
The logging levels supported.
Definition: amd-dbgapi.h:6763
Return the process to which this code object belongs.
Definition: amd-dbgapi.h:2060
The byte size of the created watchpoint.
Definition: amd-dbgapi.h:4370
The watchpoint handle is invalid.
Definition: amd-dbgapi.h:907
Return the dispatch to which this workgroup belongs.
Definition: amd-dbgapi.h:3138
No forward progress is needed.
Definition: amd-dbgapi.h:1929
uint64_t amd_dbgapi_os_agent_id_t
Native operating system agent ID.
Definition: amd-dbgapi.h:639
PCI slot of the agent in BDF format (see [Bus:Device.Function (BDF) Notation][bfd].
Definition: amd-dbgapi.h:2292
The instruction enters the trap handler.
Definition: amd-dbgapi.h:1489
The function has executed successfully.
Definition: amd-dbgapi.h:752
The value has changed.
Definition: amd-dbgapi.h:589
Read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4462
The wave stopped due to executing a breakpoint instruction.
Definition: amd-dbgapi.h:3513
The instruction has some form of special behavior not covered by any of the other instruction kinds...
Definition: amd-dbgapi.h:1516
The wave is not stopped.
Definition: amd-dbgapi.h:873
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:2648
amd_dbgapi_queue_state_t
Queue state.
Definition: amd-dbgapi.h:2583
Return the agent to which this workgroup belongs.
Definition: amd-dbgapi.h:3148
Queue supports the AMD SDMA protocol.
Definition: amd-dbgapi.h:727
The code object handle is invalid.
Definition: amd-dbgapi.h:840
The wave stopped due to triggering a data watchpoint.
Definition: amd-dbgapi.h:3525
Return the dispatch barrier setting.
Definition: amd-dbgapi.h:2892
#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:508
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&#39;s runtime has put a queue into the queue error state due to exceptions being reported fo...
Definition: amd-dbgapi.h:6559
amd_dbgapi_event_info_t
Event queries that are supported by amd_dbgapi_event_get_info.
Definition: amd-dbgapi.h:6629
amd_dbgapi_runtime_state_t
Inferior&#39;s runtime state.
Definition: amd-dbgapi.h:6604
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize(void) AMD_DBGAPI_VERSION_0_54
Finalize the library.
Resume execution.
Definition: amd-dbgapi.h:6915
PCI vendor ID of the agent.
Definition: amd-dbgapi.h:2296
The list of code objects has changed.
Definition: amd-dbgapi.h:6497
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&#39;s state.
Definition: amd-dbgapi.h:3311
Return the dispatch release fence.
Definition: amd-dbgapi.h:2902
The requested information is not available.
Definition: amd-dbgapi.h:788
Return the queue to which this wave belongs.
Definition: amd-dbgapi.h:3356
The instruction unconditionally branches to a literal address.
Definition: amd-dbgapi.h:1424
uint64_t handle
Definition: amd-dbgapi.h:3112
The breakpoint handle is invalid.
Definition: amd-dbgapi.h:947
Return the reason the wave stopped as a bit set.
Definition: amd-dbgapi.h:3318
The library is already initialized.
Definition: amd-dbgapi.h:804
amd_dbgapi_code_object_info_t
Code object queries that are supported by amd_dbgapi_code_object_get_info.
Definition: amd-dbgapi.h:2054
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:2493
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:7081
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:628
The instruction unconditionally branches to an address held in a pair of registers.
Definition: amd-dbgapi.h:1439
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:464
A command for a wave was not able to complete because the wave has terminated.
Definition: amd-dbgapi.h:6475
Return the byte size of an address in the address space.
Definition: amd-dbgapi.h:5661
Agent name.
Definition: amd-dbgapi.h:2267
The lane handle is invalid.
Definition: amd-dbgapi.h:923
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:869
Opaque code object handle.
Definition: amd-dbgapi.h:2037
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:2282
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:6029
Return the AMD GPU DWARF address space number for the address space&#39;s architecture.
Definition: amd-dbgapi.h:5676
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:5432
uint64_t handle
Definition: amd-dbgapi.h:4094
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:3545
Return the address space access.
Definition: amd-dbgapi.h:5671
PCI domain the agent is in.
Definition: amd-dbgapi.h:2286
The register class handle is invalid.
Definition: amd-dbgapi.h:915
If none of the bits are set, then amd_dbgapi_wave_stop stopped the wave.
Definition: amd-dbgapi.h:3507
Return the dispatch completion event address.
Definition: amd-dbgapi.h:2952
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:3158
amd_dbgapi_register_class_state_t
Indication of whether a register is a member of a register class.
Definition: amd-dbgapi.h:5103
The instruction unconditionally halts the wave.
Definition: amd-dbgapi.h:1494
Return the number of data watchpoints supported by the process.
Definition: amd-dbgapi.h:1673
uint64_t handle
Definition: amd-dbgapi.h:4599
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:4448
The notifier for the process that indicates if pending events are available.
Definition: amd-dbgapi.h:1667
void(* log_message)(amd_dbgapi_log_level_t level, const char *message)
Report a log message.
Definition: amd-dbgapi.h:7128
Queue supports the HSA kernel dispatch with single producer protocol.
Definition: amd-dbgapi.h:709
The wave stopped due to triggering an enabled floating point overflow exception.
Definition: amd-dbgapi.h:3553
Return the dispatch acquire fence.
Definition: amd-dbgapi.h:2897
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:6437
The runtime support in the inferior is enabled or disabled.
Definition: amd-dbgapi.h:6525
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:1905
amd_dbgapi_watchpoint_id_t * watchpoint_ids
Definition: amd-dbgapi.h:4479
Return the process to which this breakpoint belongs.
Definition: amd-dbgapi.h:6861
A wave on the queue executed a trap instruction used to abort a dispatch.
Definition: amd-dbgapi.h:2618
Return the dispatch to which this wave belongs.
Definition: amd-dbgapi.h:3351
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:800
Return the queue packet ID of the dispatch packet that initiated the dispatch.
Definition: amd-dbgapi.h:2887
amd_dbgapi_event_kind_t
The event kinds.
Definition: amd-dbgapi.h:6451
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:2683
Return the register class name.
Definition: amd-dbgapi.h:4628
The instruction unconditionally branches to an address held in a pair of source registers and the add...
Definition: amd-dbgapi.h:1470
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:881
The library is not initialized.
Definition: amd-dbgapi.h:808
The symbol was not found.
Definition: amd-dbgapi.h:959
Write access by store instructions or read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4458
#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:532
Return the register handle for the PC for the architecture.
Definition: amd-dbgapi.h:1214
amd_dbgapi_address_space_access_t
Indication of how the address space is accessed.
Definition: amd-dbgapi.h:5622
Queue supports the AMD SDMA XGMI protocol.
Definition: amd-dbgapi.h:731
The bytes being disassembled are not a legal instruction.
Definition: amd-dbgapi.h:836
uint64_t handle
Definition: amd-dbgapi.h:2472
Reading or writing the segment address depends on the workgroup.
Definition: amd-dbgapi.h:5970
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:5823
The instruction has no properties.
Definition: amd-dbgapi.h:1527
#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:538
A wave on the queue executed an instruction that caused an exception.
Definition: amd-dbgapi.h:2628
Return the AMD GPU DWARF register number for the register&#39;s architecture.
Definition: amd-dbgapi.h:4862
Dispatch has a barrier.
Definition: amd-dbgapi.h:3016
Return the breakpoint instruction for the architecture.
Definition: amd-dbgapi.h:1203
uint64_t amd_dbgapi_os_queue_packet_id_t
Native operating system queue packet ID.
Definition: amd-dbgapi.h:661
The value has not changed.
Definition: amd-dbgapi.h:585
The instruction conditionally branches to a literal address.
Definition: amd-dbgapi.h:1431
The URI name of the ELF shared object from which the code object was loaded.
Definition: amd-dbgapi.h:2116
Opaque address space handle.
Definition: amd-dbgapi.h:5599
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_54
Complete a displaced stepping buffer for a wave.
The wave stopped due to an aperture violation.
Definition: amd-dbgapi.h:3657
The ELF AMD GPU machine value is invalid or unsupported.
Definition: amd-dbgapi.h:844
The difference between the address in the ELF shared object and the address the code object is loaded...
Definition: amd-dbgapi.h:2122
The address space supports all accesses.
Definition: amd-dbgapi.h:5628
The register handle is invalid.
Definition: amd-dbgapi.h:919
The wave stopped due to executing a debug trap instruction.
Definition: amd-dbgapi.h:3600
The wave stopped due to triggering an enabled floating point inexact exception.
Definition: amd-dbgapi.h:3569
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_remove_watchpoint(amd_dbgapi_watchpoint_id_t watchpoint_id) AMD_DBGAPI_VERSION_0_67
Remove a hardware data watchpoint previously set by amd_dbgapi_set_watchpoint.
Memory instructions execute normally and a wave does not wait for the memory access to complete...
Definition: amd-dbgapi.h:6356
Reading or writing the segment address depends on the process.
Definition: amd-dbgapi.h:5978
Native operating system process ID.
Definition: amd-dbgapi.h:1695
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:1661
Return the queue of a AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR event.
Definition: amd-dbgapi.h:6668
uint64_t handle
Definition: amd-dbgapi.h:2845
The register is not a member of the register class.
Definition: amd-dbgapi.h:5108
The address class handle is invalid.
Definition: amd-dbgapi.h:927
amd_dbgapi_workgroup_info_t
Workgroup queries that are supported by amd_dbgapi_workgroup_get_info.
Definition: amd-dbgapi.h:3127
A wave has stopped.
Definition: amd-dbgapi.h:6460
Return the process to which this dispatch belongs.
Definition: amd-dbgapi.h:2876
amd_dbgapi_architecture_info_t
Architecture queries that are supported by amd_dbgapi_architecture_get_info.
Definition: amd-dbgapi.h:1163
#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:526
Return the process to which this wave belongs.
Definition: amd-dbgapi.h:3366
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:4727
Return the register&#39;s properties.
Definition: amd-dbgapi.h:4867
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:3025
Return the architecture to which this register belongs.
Definition: amd-dbgapi.h:4784
Agent does not support debugging.
Definition: amd-dbgapi.h:2347
The watchpoints of a process are shared between all processes.
Definition: amd-dbgapi.h:4439
If none of the bits are set, then the queue is not in the error state.
Definition: amd-dbgapi.h:2614
Maximum number of waves supported by an execution unit.
Definition: amd-dbgapi.h:2310
The event handle is invalid.
Definition: amd-dbgapi.h:943
Normal wave creation allows new waves to be created.
Definition: amd-dbgapi.h:1976
Return the dispatch group segment size in bytes.
Definition: amd-dbgapi.h:2927
Return the address space name.
Definition: amd-dbgapi.h:5656
Return the size in bytes of the memory holding the queue packets.
Definition: amd-dbgapi.h:2530
pid_t amd_dbgapi_os_process_id_t
Native operating system process ID.
Definition: amd-dbgapi.h:600
Return the architecture name.
Definition: amd-dbgapi.h:1171
Return the agent to which this dispatch belongs.
Definition: amd-dbgapi.h:2871
The wave stopped due to completing an instruction single-step.
Definition: amd-dbgapi.h:3529
The displaced stepping handle is invalid.
Definition: amd-dbgapi.h:889
Resume execution in in single step mode.
Definition: amd-dbgapi.h:3833
A fatal error has occurred.
Definition: amd-dbgapi.h:778
amd_dbgapi_queue_info_t
Queue queries that are supported by amd_dbgapi_queue_get_info.
Definition: amd-dbgapi.h:2487
The inferior&#39;s runtime has been loaded and debugging is supported by the library. ...
Definition: amd-dbgapi.h:6610
The segment address in the address space is not a member of the source language address class...
Definition: amd-dbgapi.h:6035
Return the dispatch kernel code entry address.
Definition: amd-dbgapi.h:2942
amd_dbgapi_register_info_t
Register queries that are supported by amd_dbgapi_register_get_info.
Definition: amd-dbgapi.h:4778
Return the process to which this event belongs.
Definition: amd-dbgapi.h:6635
uint64_t handle
Definition: amd-dbgapi.h:2240
size_t count
Definition: amd-dbgapi.h:4478
No dependence is available.
Definition: amd-dbgapi.h:5958
The watchpoints are not shared across processes.
Definition: amd-dbgapi.h:4433
amd_dbgapi_register_class_info_t
Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info.
Definition: amd-dbgapi.h:4615
Return the agent to which this wave belongs.
Definition: amd-dbgapi.h:3361
Agent supports debugging.
Definition: amd-dbgapi.h:2326
Request to resume a host breakpoint.
Definition: amd-dbgapi.h:6510
The process handle is invalid.
Definition: amd-dbgapi.h:848
The instruction conditionally branches to an address held in a pair of registers. ...
Definition: amd-dbgapi.h:1449
Return the architecture specific address space that is used to implement a pointer or reference to th...
Definition: amd-dbgapi.h:5449
amd_dbgapi_watchpoint_info_t
Watchpoint queries that are supported by amd_dbgapi_watchpoint_get_info.
Definition: amd-dbgapi.h:4354
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:1460
The address space handle is invalid.
Definition: amd-dbgapi.h:931
Print fatal error, warning, and info messages.
Definition: amd-dbgapi.h:6781
Opaque dispatch handle.
Definition: amd-dbgapi.h:2843
Return the base address of the memory holding the queue packets.
Definition: amd-dbgapi.h:2525
Return the client thread of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:6656
Queue supports the HSA kernel dispatch with multiple producers protocol.
Definition: amd-dbgapi.h:693
The instruction executes sequentially.
Definition: amd-dbgapi.h:1418
The wave has the register.
Definition: amd-dbgapi.h:4925
Return the queue to which this dispatch belongs.
Definition: amd-dbgapi.h:2866
The inferior&#39;s runtime has been loaded but there is a restriction error that prevents debugging the p...
Definition: amd-dbgapi.h:6620
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_56
Query information about a process.
Return if the runtime loaded in the inferior is supported by the library for a AMD_DBGAPI_EVENT_KIND_...
Definition: amd-dbgapi.h:6663
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:5953
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:6981
amd_dbgapi_instruction_properties_t
A bit mask of the properties of an instruction.
Definition: amd-dbgapi.h:1522
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:2663
There is a restriction error that prevents debugging the process.
Definition: amd-dbgapi.h:824
The wave stopped due to executing a trap instruction other than the AMD_DBGAPI_WAVE_STOP_REASON_DEBUG...
Definition: amd-dbgapi.h:3626
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:1195
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_54
Set the wave creation mode for a process.
Return the dispatch private segment size in bytes.
Definition: amd-dbgapi.h:2922
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:5414
A wave on the queue executed an instruction that had a floating point or integer enabled exception co...
Definition: amd-dbgapi.h:2644
No more displaced stepping buffers are available that are suitable for the requested wave...
Definition: amd-dbgapi.h:894
Unknown queue type.
Definition: amd-dbgapi.h:677
Return the process to which this queue belongs.
Definition: amd-dbgapi.h:2498
amd_dbgapi_progress_t
The kinds of progress supported by the library.
Definition: amd-dbgapi.h:1898
amd_dbgapi_breakpoint_info_t
Breakpoint queries that are supported by amd_dbgapi_breakpoint_get_info.
Definition: amd-dbgapi.h:6855
amd_dbgapi_agent_state_t
Agent state.
Definition: amd-dbgapi.h:2321
A wave on the queue had an aperture violation.
Definition: amd-dbgapi.h:2659
Return the set of exceptions that caused the queue to enter the queue error state.
Definition: amd-dbgapi.h:2520
The operation is not currently implemented.
Definition: amd-dbgapi.h:784
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_54
Associate an active displaced stepping buffer with a wave.
amd_dbgapi_register_properties_t
A bit mask on register properties.
Definition: amd-dbgapi.h:4744
amd_dbgapi_memory_precision_t
Memory access precision.
Definition: amd-dbgapi.h:6350
uint64_t handle
Definition: amd-dbgapi.h:2039
Reading or writing the segment address depends on the lane.
Definition: amd-dbgapi.h:5962
Return the process to which this watchpoint belongs.
Definition: amd-dbgapi.h:4360
Opaque wave handle.
Definition: amd-dbgapi.h:3288
Return the number of bytes to subtract from the PC after stopping due to a breakpoint instruction to ...
Definition: amd-dbgapi.h:1209
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:3290
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_58
Resume execution of a stopped wave.
Return the largest instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1184
amd_dbgapi_address_space_info_t
Address space queries that are supported by amd_dbgapi_address_space_get_info.
Definition: amd-dbgapi.h:5648
Return the minimum instruction alignment in bytes for the architecture.
Definition: amd-dbgapi.h:1190
The native operating system process associated with a client process has exited.
Definition: amd-dbgapi.h:853
The instruction performs some kind of execution barrier which may result in the wave being halted unt...
Definition: amd-dbgapi.h:1501
The wave stopped due to triggering an enabled floating point input denormal exception.
Definition: amd-dbgapi.h:3537
Stop wave creation prevents new waves from being created.
Definition: amd-dbgapi.h:1980
Native operating system agent ID.
Definition: amd-dbgapi.h:2315
Return the dispatch kernel descriptor address.
Definition: amd-dbgapi.h:2937
The wave is running.
Definition: amd-dbgapi.h:3474
No event.
Definition: amd-dbgapi.h:6456
Resume normal execution.
Definition: amd-dbgapi.h:3829
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:2609
The operation is not supported.
Definition: amd-dbgapi.h:792
uint64_t handle
Definition: amd-dbgapi.h:4729
uint64_t handle
Definition: amd-dbgapi.h:5601
The workgroup workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3169
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:968
Return the dispatch grid dimensionality.
Definition: amd-dbgapi.h:2907
uint64_t amd_dbgapi_size_t
Integral type used for sizes, including memory allocations, in the inferior.
Definition: amd-dbgapi.h:575
Return the NULL segment address value in the address space.
Definition: amd-dbgapi.h:5666
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:3143
The register handle is valid, but specifies a register that is not allocated in the associated wave...
Definition: amd-dbgapi.h:964
Return the dispatch kernel argument segment address.
Definition: amd-dbgapi.h:2932
Return the architecture of this queue.
Definition: amd-dbgapi.h:2503
Return the workgroup to which this wave belongs.
Definition: amd-dbgapi.h:3341
The register is a member of the register class.
Definition: amd-dbgapi.h:5112
Return the architecture of this agent.
Definition: amd-dbgapi.h:2277
There was an error preempting the queue.
Definition: amd-dbgapi.h:2696
Return the process to which this workgroup belongs.
Definition: amd-dbgapi.h:3153
Return the process to which this displaced stepping buffer belongs.
Definition: amd-dbgapi.h:4116
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:6785
A wave on the queue had a memory violation.
Definition: amd-dbgapi.h:2654
Total number of Execution Units (EUs) available in the agent.
Definition: amd-dbgapi.h:2305
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_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:951
amd_dbgapi_os_queue_type_t
Native operating system queue type.
Definition: amd-dbgapi.h:672
amd_dbgapi_resume_mode_t
The mode in which to resuming the execution of a wave.
Definition: amd-dbgapi.h:3824
A dispatch packet on the queue has a NULL code address.
Definition: amd-dbgapi.h:2671
amd_dbgapi_status_t
AMD debugger API status codes.
Definition: amd-dbgapi.h:747
Return the current program counter value of the wave.
Definition: amd-dbgapi.h:3377
The agent handle is invalid.
Definition: amd-dbgapi.h:857
The base address of the created watchpoint.
Definition: amd-dbgapi.h:4365
Return the AMD GPU DWARF address class number for the address class&#39; architecture.
Definition: amd-dbgapi.h:5454
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_54
Set the progress required for a process.
The architecture handle is invalid.
Definition: amd-dbgapi.h:832
Leave execution halted.
Definition: amd-dbgapi.h:6919
At least one bit of the register value is readonly.
Definition: amd-dbgapi.h:4755
Opaque architecture handle.
Definition: amd-dbgapi.h:1145
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.
The wave stopped due to triggering an enabled floating point underflow exception. ...
Definition: amd-dbgapi.h:3561
Return the queue type.
Definition: amd-dbgapi.h:2508
amd_dbgapi_wave_info_t
Wave queries that are supported by amd_dbgapi_wave_get_info.
Definition: amd-dbgapi.h:3305
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:5416
Return the queue state.
Definition: amd-dbgapi.h:2513
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:3492
Return the process to which this agent belongs.
Definition: amd-dbgapi.h:2261
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_62
Write a register.
Reading or writing the segment address depends on the agent.
Definition: amd-dbgapi.h:5974
A packet on the queue has an invalid vendor code.
Definition: amd-dbgapi.h:2687
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:2602
struct amd_dbgapi_symbolizer_id_s * amd_dbgapi_symbolizer_id_t
Opaque client symbolizer handle.
Definition: amd-dbgapi.h:1298
An error occurred while trying to access memory in the inferior.
Definition: amd-dbgapi.h:935
A generic error has occurred.
Definition: amd-dbgapi.h:756
A dispatch packet on the queue has an invalid group segment size.
Definition: amd-dbgapi.h:2667
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_54
Write memory.
The process is already attached to the given inferior process.
Definition: amd-dbgapi.h:828
struct amd_dbgapi_client_process_s * amd_dbgapi_client_process_id_t
Opaque client process handle.
Definition: amd-dbgapi.h:1632
amd_dbgapi_displaced_stepping_info_t
Displaced stepping queries that are supported by amd_dbgapi_displaced_stepping_id_t.
Definition: amd-dbgapi.h:4110
Dispatch has no barrier.
Definition: amd-dbgapi.h:3011
The wave stopped due to executing an illegal instruction.
Definition: amd-dbgapi.h:3666
amd_dbgapi_watchpoint_share_kind_t
The way watchpoints are shared between processes.
Definition: amd-dbgapi.h:4422
The dispatch handle is invalid.
Definition: amd-dbgapi.h:865
amd_dbgapi_instruction_kind_t
The kinds of instruction classifications.
Definition: amd-dbgapi.h:1406
Read, write, or read-modify-write access by load, store, or atomic instructions.
Definition: amd-dbgapi.h:4467
Return the watchpoint(s) the wave triggered.
Definition: amd-dbgapi.h:3331
A packet on the queue has an unsupported code.
Definition: amd-dbgapi.h:2675
struct amd_dbgapi_client_thread_s * amd_dbgapi_client_thread_id_t
Opaque client thread handle.
Definition: amd-dbgapi.h:6931
Return the register name.
Definition: amd-dbgapi.h:4791
The wave workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3396
Return if the architectures of all the agents of a process support controlling memory precision...
Definition: amd-dbgapi.h:1685
Print fatal error, warning, info, API tracing, and verbose messages.
Definition: amd-dbgapi.h:6789
The queue handle is invalid.
Definition: amd-dbgapi.h:861
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:7116
The wave stopped due to triggering an enabled integer divide by zero exception.
Definition: amd-dbgapi.h:3585
PCI device ID of the agent.
Definition: amd-dbgapi.h:2300
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:4857
amd_dbgapi_status_t(* get_os_pid)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_os_process_id_t *os_pid)
Return the native operating system process handle for the process identified by the client process ha...
Definition: amd-dbgapi.h:7042
amd_dbgapi_dispatch_info_t
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Definition: amd-dbgapi.h:2860
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.
#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:520
The wave stopped after causing a hardware fatal halt.
Definition: amd-dbgapi.h:3686
The wave cannot be resumed in the manner requested due to displaced stepping restrictions.
Definition: amd-dbgapi.h:903
Opaque breakpoint handle.
Definition: amd-dbgapi.h:6838
Return the current execution mask of the wave.
Definition: amd-dbgapi.h:3385