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

AMD_DBGAPI 0.77.4

Loading...
Searching...
No Matches
amd-dbgapi.h
Go to the documentation of this file.
1/* Copyright (c) 2019-2024 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
481#ifndef AMD_DBGAPI_H
482#define AMD_DBGAPI_H 1
483
484/* Placeholder for calling convention and import/export macros */
485#if !defined(AMD_DBGAPI_CALL)
486#define AMD_DBGAPI_CALL
487#endif /* !defined (AMD_DBGAPI_CALL) */
488
489#if !defined(AMD_DBGAPI_EXPORT_DECORATOR)
490#if defined(__GNUC__)
491#define AMD_DBGAPI_EXPORT_DECORATOR __attribute__ ((visibility ("default")))
492#elif defined(_MSC_VER)
493#define AMD_DBGAPI_EXPORT_DECORATOR __declspec(dllexport)
494#endif /* defined (_MSC_VER) */
495#endif /* !defined (AMD_DBGAPI_EXPORT_DECORATOR) */
496
497#if !defined(AMD_DBGAPI_IMPORT_DECORATOR)
498#if defined(__GNUC__)
499#define AMD_DBGAPI_IMPORT_DECORATOR
500#elif defined(_MSC_VER)
501#define AMD_DBGAPI_IMPORT_DECORATOR __declspec(dllimport)
502#endif /* defined (_MSC_VER) */
503#endif /* !defined (AMD_DBGAPI_IMPORT_DECORATOR) */
504
505#define AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL
506#define AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL
507
508#if !defined(AMD_DBGAPI)
509#if defined(AMD_DBGAPI_EXPORTS)
510#define AMD_DBGAPI AMD_DBGAPI_EXPORT
511#else /* !defined (AMD_DBGAPI_EXPORTS) */
512#define AMD_DBGAPI AMD_DBGAPI_IMPORT
513#endif /* !defined (AMD_DBGAPI_EXPORTS) */
514#endif /* !defined (AMD_DBGAPI) */
515
516#if __cplusplus >= 201103L
517/* c++11 allows extended initializer lists. */
518#define AMD_DBGAPI_HANDLE_LITERAL(type, value) (type{ value })
519#elif __STDC_VERSION__ >= 199901L
520/* c99 allows compound literals. */
521#define AMD_DBGAPI_HANDLE_LITERAL(type, value) ((type){ value })
522#else /* !__STDC_VERSION__ >= 199901L */
523#define AMD_DBGAPI_HANDLE_LITERAL(type, value) {value}
524#endif /* !__STDC_VERSION__ >= 199901L */
525
526#if defined(__cplusplus) && __cplusplus >= 201402L
527#define DEPRECATED [[deprecated]]
528#else
529#define DEPRECATED
530#endif
531
532#if defined(__cplusplus)
533extern "C" {
534#endif /* defined (__cplusplus) */
535
536#if defined(__linux__)
537#include <sys/types.h>
538#endif /* __linux__ */
539
540#include <stddef.h>
541#include <stdint.h>
542
562#define AMD_DBGAPI_VERSION_0_54
563
568#define AMD_DBGAPI_VERSION_0_56
569
574#define AMD_DBGAPI_VERSION_0_58
575
580#define AMD_DBGAPI_VERSION_0_62
581
586#define AMD_DBGAPI_VERSION_0_64
587
592#define AMD_DBGAPI_VERSION_0_67
593
598#define AMD_DBGAPI_VERSION_0_68
599
604#define AMD_DBGAPI_VERSION_0_70
605
610#define AMD_DBGAPI_VERSION_0_76
611
616#define AMD_DBGAPI_VERSION_0_77
617
624 typedef struct amd_dbgapi_callbacks_s amd_dbgapi_callbacks_t;
625
648 typedef uint64_t amd_dbgapi_global_address_t;
649
653 typedef uint64_t amd_dbgapi_size_t;
654
658 typedef enum
659{
663 AMD_DBGAPI_CHANGED_NO = 0,
667 AMD_DBGAPI_CHANGED_YES = 1
668} amd_dbgapi_changed_t;
669
677#if defined(__linux__)
678 typedef pid_t amd_dbgapi_os_process_id_t;
679#endif /* __linux__ */
680
705#if defined(__linux__)
706 typedef int amd_dbgapi_notifier_t;
707#endif /* __linux__ */
708
716#if defined(__linux__)
717 typedef uint64_t amd_dbgapi_os_agent_id_t;
718#endif /* __linux__ */
719
726#if defined(__linux__)
727 typedef uint64_t amd_dbgapi_os_queue_id_t;
728#endif /* __linux__ */
729
738#if defined(__linux__)
739 typedef uint64_t amd_dbgapi_os_queue_packet_id_t;
740#endif /* __linux__ */
741
749#if defined(__linux__)
750 typedef enum
751{
755 AMD_DBGAPI_OS_QUEUE_TYPE_UNKNOWN = 0,
759 AMD_DBGAPI_OS_QUEUE_TYPE_HSA_AQL = 1,
763 AMD_DBGAPI_OS_QUEUE_TYPE_AMD_PM4 = 257,
767 AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA = 513,
771 AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA_XGMI = 514
772} amd_dbgapi_os_queue_type_t;
773#endif /* __linux__ */
774
787 typedef enum
788{
792 AMD_DBGAPI_STATUS_SUCCESS = 0,
796 AMD_DBGAPI_STATUS_ERROR = -1,
818 AMD_DBGAPI_STATUS_FATAL = -2,
824 AMD_DBGAPI_STATUS_ERROR_NOT_IMPLEMENTED = -3,
828 AMD_DBGAPI_STATUS_ERROR_NOT_AVAILABLE = -4,
832 AMD_DBGAPI_STATUS_ERROR_NOT_SUPPORTED = -5,
836 AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT = -6,
840 AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT_COMPATIBILITY = -7,
844 AMD_DBGAPI_STATUS_ERROR_ALREADY_INITIALIZED = -8,
848 AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED = -9,
868 AMD_DBGAPI_STATUS_ERROR_RESTRICTION = -10,
872 AMD_DBGAPI_STATUS_ERROR_ALREADY_ATTACHED = -11,
876 AMD_DBGAPI_STATUS_ERROR_INVALID_ARCHITECTURE_ID = -12,
880 AMD_DBGAPI_STATUS_ERROR_ILLEGAL_INSTRUCTION = -13,
884 AMD_DBGAPI_STATUS_ERROR_INVALID_CODE_OBJECT_ID = -14,
888 AMD_DBGAPI_STATUS_ERROR_INVALID_ELF_AMDGPU_MACHINE = -15,
892 AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID = -16,
897 AMD_DBGAPI_STATUS_ERROR_PROCESS_EXITED = -17,
901 AMD_DBGAPI_STATUS_ERROR_INVALID_AGENT_ID = -18,
905 AMD_DBGAPI_STATUS_ERROR_INVALID_QUEUE_ID = -19,
909 AMD_DBGAPI_STATUS_ERROR_INVALID_DISPATCH_ID = -20,
913 AMD_DBGAPI_STATUS_ERROR_INVALID_WAVE_ID = -21,
917 AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_STOPPED = -22,
921 AMD_DBGAPI_STATUS_ERROR_WAVE_STOPPED = -23,
925 AMD_DBGAPI_STATUS_ERROR_WAVE_OUTSTANDING_STOP = -24,
929 AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_RESUMABLE = -25,
933 AMD_DBGAPI_STATUS_ERROR_INVALID_DISPLACED_STEPPING_ID = -26,
938 AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_BUFFER_NOT_AVAILABLE = -27,
942 AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_ACTIVE = -28,
947 AMD_DBGAPI_STATUS_ERROR_RESUME_DISPLACED_STEPPING = -29,
951 AMD_DBGAPI_STATUS_ERROR_INVALID_WATCHPOINT_ID = -30,
955 AMD_DBGAPI_STATUS_ERROR_NO_WATCHPOINT_AVAILABLE = -31,
959 AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_CLASS_ID = -32,
963 AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_ID = -33,
967 AMD_DBGAPI_STATUS_ERROR_INVALID_LANE_ID = -34,
971 AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_CLASS_ID = -35,
975 AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_ID = -36,
979 AMD_DBGAPI_STATUS_ERROR_MEMORY_ACCESS = -37,
983 AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_CONVERSION = -38,
987 AMD_DBGAPI_STATUS_ERROR_INVALID_EVENT_ID = -39,
991 AMD_DBGAPI_STATUS_ERROR_INVALID_BREAKPOINT_ID = -40,
995 AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK = -41,
999 AMD_DBGAPI_STATUS_ERROR_INVALID_CLIENT_PROCESS_ID = -42,
1003 AMD_DBGAPI_STATUS_ERROR_SYMBOL_NOT_FOUND = -43,
1008 AMD_DBGAPI_STATUS_ERROR_REGISTER_NOT_AVAILABLE = -44,
1012 AMD_DBGAPI_STATUS_ERROR_INVALID_WORKGROUP_ID = -45,
1016 AMD_DBGAPI_STATUS_ERROR_INCOMPATIBLE_PROCESS_STATE = -46,
1020 AMD_DBGAPI_STATUS_ERROR_PROCESS_FROZEN = -47,
1024 AMD_DBGAPI_STATUS_ERROR_PROCESS_ALREADY_FROZEN = -48,
1028 AMD_DBGAPI_STATUS_ERROR_PROCESS_NOT_FROZEN = -49,
1029} amd_dbgapi_status_t;
1030
1047 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_get_status_string (
1048 amd_dbgapi_status_t status,
1049 const char **status_string) AMD_DBGAPI_VERSION_0_54;
1050
1074#define AMD_DBGAPI_VERSION_MAJOR 0
1075
1080#define AMD_DBGAPI_VERSION_MINOR 77
1081
1095 void AMD_DBGAPI amd_dbgapi_get_version (
1096 uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_54;
1097
1106const char AMD_DBGAPI *
1107amd_dbgapi_get_build_name (void) AMD_DBGAPI_VERSION_0_54;
1108
1154 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_initialize (
1155 amd_dbgapi_callbacks_t *callbacks) AMD_DBGAPI_VERSION_0_76;
1156
1181 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize (void)
1182 AMD_DBGAPI_VERSION_0_54;
1183
1205 typedef struct
1206{
1207 uint64_t handle;
1208} amd_dbgapi_architecture_id_t;
1209
1213#define AMD_DBGAPI_ARCHITECTURE_NONE \
1214 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_architecture_id_t, 0)
1215
1223 typedef enum
1224{
1231 AMD_DBGAPI_ARCHITECTURE_INFO_NAME = 1,
1239 AMD_DBGAPI_ARCHITECTURE_INFO_ELF_AMDGPU_MACHINE = 2,
1244 AMD_DBGAPI_ARCHITECTURE_INFO_LARGEST_INSTRUCTION_SIZE = 3,
1250 AMD_DBGAPI_ARCHITECTURE_INFO_MINIMUM_INSTRUCTION_ALIGNMENT = 4,
1255 AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_SIZE = 5,
1263 AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION = 6,
1269 AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_PC_ADJUST = 7,
1274 AMD_DBGAPI_ARCHITECTURE_INFO_PC_REGISTER = 8
1275} amd_dbgapi_architecture_info_t;
1276
1315 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_get_info (
1316 amd_dbgapi_architecture_id_t architecture_id,
1317 amd_dbgapi_architecture_info_t query, size_t value_size,
1318 void *value) AMD_DBGAPI_VERSION_0_54;
1319
1348 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_get_architecture (
1349 uint32_t elf_amdgpu_machine,
1350 amd_dbgapi_architecture_id_t *architecture_id) AMD_DBGAPI_VERSION_0_54;
1351
1358 typedef struct amd_dbgapi_symbolizer_id_s *amd_dbgapi_symbolizer_id_t;
1359
1453 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_disassemble_instruction (
1454 amd_dbgapi_architecture_id_t architecture_id,
1455 amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1456 const void *memory, char **instruction_text,
1457 amd_dbgapi_symbolizer_id_t symbolizer_id,
1458 amd_dbgapi_status_t (*symbolizer) (
1459 amd_dbgapi_symbolizer_id_t symbolizer_id,
1460 amd_dbgapi_global_address_t address,
1461 char **symbol_text)) AMD_DBGAPI_VERSION_0_54;
1462
1466 typedef enum
1467{
1472 AMD_DBGAPI_INSTRUCTION_KIND_UNKNOWN = 0,
1478 AMD_DBGAPI_INSTRUCTION_KIND_SEQUENTIAL = 1,
1484 AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH = 2,
1491 AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH_CONDITIONAL = 3,
1499 AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_REGISTER_PAIR = 4,
1509 AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_CONDITIONAL_REGISTER_PAIR = 5,
1520 AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_CALL_REGISTER_PAIR = 6,
1530 AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_CALL_REGISTER_PAIRS = 7,
1535 AMD_DBGAPI_INSTRUCTION_KIND_TERMINATE = 8,
1549 AMD_DBGAPI_INSTRUCTION_KIND_TRAP = 9,
1554 AMD_DBGAPI_INSTRUCTION_KIND_HALT = 10,
1561 AMD_DBGAPI_INSTRUCTION_KIND_BARRIER = 11,
1567 AMD_DBGAPI_INSTRUCTION_KIND_SLEEP = 12,
1576 AMD_DBGAPI_INSTRUCTION_KIND_SPECIAL = 13
1577} amd_dbgapi_instruction_kind_t;
1578
1582 typedef enum
1583{
1587 AMD_DBGAPI_INSTRUCTION_PROPERTY_NONE = 0
1588} amd_dbgapi_instruction_properties_t;
1589
1664 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_classify_instruction (
1665 amd_dbgapi_architecture_id_t architecture_id,
1666 amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1667 const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind,
1668 amd_dbgapi_instruction_properties_t *instruction_properties,
1669 void **instruction_information) AMD_DBGAPI_VERSION_0_58;
1670
1692 typedef struct amd_dbgapi_client_process_s *amd_dbgapi_client_process_id_t;
1693
1704 typedef struct
1705{
1706 uint64_t handle;
1707} amd_dbgapi_process_id_t;
1708
1712#define AMD_DBGAPI_PROCESS_NONE \
1713 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_process_id_t, 0)
1714
1718 typedef enum
1719{
1721 AMD_DBGAPI_ENDIAN_BIG = 0,
1722
1724 AMD_DBGAPI_ENDIAN_LITTLE = 1
1725} amd_dbgapi_endianness_t;
1726
1730 typedef struct
1731{
1733 amd_dbgapi_endianness_t endianness;
1737 size_t size;
1745 const void *data;
1746} amd_dbgapi_core_state_data_t;
1747
1754 typedef enum
1755{
1760 AMD_DBGAPI_PROCESS_INFO_NOTIFIER = 1,
1766 AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_COUNT = 2,
1772 AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_SHARE = 3,
1778 AMD_DBGAPI_PROCESS_INFO_PRECISE_MEMORY_SUPPORTED = 4,
1785 AMD_DBGAPI_PROCESS_INFO_PRECISE_ALU_EXCEPTIONS_SUPPORTED = 5,
1799 AMD_DBGAPI_PROCESS_INFO_OS_ID = 6,
1809 AMD_DBGAPI_PROCESS_INFO_CORE_STATE = 7,
1810} amd_dbgapi_process_info_t;
1811
1861 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_get_info (
1862 amd_dbgapi_process_id_t process_id, amd_dbgapi_process_info_t query,
1863 size_t value_size, void *value) AMD_DBGAPI_VERSION_0_77;
1864
1961 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_attach (
1962 amd_dbgapi_client_process_id_t client_process_id,
1963 amd_dbgapi_process_id_t *process_id) AMD_DBGAPI_VERSION_0_56;
1964
2011 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_detach (
2012 amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_54;
2013
2028 typedef enum
2029{
2035 AMD_DBGAPI_PROGRESS_NORMAL = 0,
2059 AMD_DBGAPI_PROGRESS_NO_FORWARD = 1
2060} amd_dbgapi_progress_t;
2061
2090 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_set_progress (
2091 amd_dbgapi_process_id_t process_id,
2092 amd_dbgapi_progress_t progress) AMD_DBGAPI_VERSION_0_76;
2093
2105 typedef enum
2106{
2110 AMD_DBGAPI_WAVE_CREATION_NORMAL = 0,
2114 AMD_DBGAPI_WAVE_CREATION_STOP = 1
2115} amd_dbgapi_wave_creation_t;
2116
2145 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_set_wave_creation (
2146 amd_dbgapi_process_id_t process_id,
2147 amd_dbgapi_wave_creation_t creation) AMD_DBGAPI_VERSION_0_76;
2148
2217 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_freeze (
2218 amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_76;
2219
2244 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_unfreeze (
2245 amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_76;
2246
2274 typedef struct
2275{
2276 uint64_t handle;
2277} amd_dbgapi_code_object_id_t;
2278
2282#define AMD_DBGAPI_CODE_OBJECT_NONE \
2283 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_code_object_id_t, 0)
2284
2291 typedef enum
2292{
2297 AMD_DBGAPI_CODE_OBJECT_INFO_PROCESS = 1,
2353 AMD_DBGAPI_CODE_OBJECT_INFO_URI_NAME = 2,
2359 AMD_DBGAPI_CODE_OBJECT_INFO_LOAD_ADDRESS = 3
2360} amd_dbgapi_code_object_info_t;
2361
2400 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_code_object_get_info (
2401 amd_dbgapi_code_object_id_t code_object_id,
2402 amd_dbgapi_code_object_info_t query, size_t value_size,
2403 void *value) AMD_DBGAPI_VERSION_0_54;
2404
2454 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_code_object_list (
2455 amd_dbgapi_process_id_t process_id, size_t *code_object_count,
2456 amd_dbgapi_code_object_id_t **code_objects,
2457 amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54;
2458
2475 typedef struct
2476{
2477 uint64_t handle;
2478} amd_dbgapi_agent_id_t;
2479
2483#define AMD_DBGAPI_AGENT_NONE \
2484 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_agent_id_t, 0)
2485
2492 typedef enum
2493{
2498 AMD_DBGAPI_AGENT_INFO_PROCESS = 1,
2504 AMD_DBGAPI_AGENT_INFO_NAME = 2,
2514 AMD_DBGAPI_AGENT_INFO_ARCHITECTURE = 3,
2519 AMD_DBGAPI_AGENT_INFO_STATE = 4,
2523 AMD_DBGAPI_AGENT_INFO_PCI_DOMAIN = 5,
2529 AMD_DBGAPI_AGENT_INFO_PCI_SLOT = 6,
2533 AMD_DBGAPI_AGENT_INFO_PCI_VENDOR_ID = 7,
2537 AMD_DBGAPI_AGENT_INFO_PCI_DEVICE_ID = 8,
2542 AMD_DBGAPI_AGENT_INFO_EXECUTION_UNIT_COUNT = 9,
2547 AMD_DBGAPI_AGENT_INFO_MAX_WAVES_PER_EXECUTION_UNIT = 10,
2552 AMD_DBGAPI_AGENT_INFO_OS_ID = 11
2553} amd_dbgapi_agent_info_t;
2554
2558 typedef enum
2559{
2563 AMD_DBGAPI_AGENT_STATE_SUPPORTED = 1,
2586 AMD_DBGAPI_AGENT_STATE_NOT_SUPPORTED = 2
2587} amd_dbgapi_agent_state_t;
2588
2631 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_agent_get_info (
2632 amd_dbgapi_agent_id_t agent_id, amd_dbgapi_agent_info_t query,
2633 size_t value_size, void *value) AMD_DBGAPI_VERSION_0_67;
2634
2686 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_agent_list (
2687 amd_dbgapi_process_id_t process_id, size_t *agent_count,
2688 amd_dbgapi_agent_id_t **agents,
2689 amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54;
2690
2709 typedef struct
2710{
2711 uint64_t handle;
2712} amd_dbgapi_queue_id_t;
2713
2717#define AMD_DBGAPI_QUEUE_NONE \
2718 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_queue_id_t, 0)
2719
2726 typedef enum
2727{
2732 AMD_DBGAPI_QUEUE_INFO_AGENT = 1,
2737 AMD_DBGAPI_QUEUE_INFO_PROCESS = 2,
2742 AMD_DBGAPI_QUEUE_INFO_ARCHITECTURE = 3,
2747 AMD_DBGAPI_QUEUE_INFO_TYPE = 4,
2752 AMD_DBGAPI_QUEUE_INFO_STATE = 5,
2759 AMD_DBGAPI_QUEUE_INFO_ERROR_REASON = 6,
2764 AMD_DBGAPI_QUEUE_INFO_ADDRESS = 7,
2769 AMD_DBGAPI_QUEUE_INFO_SIZE = 8,
2774 AMD_DBGAPI_QUEUE_INFO_OS_ID = 9
2775} amd_dbgapi_queue_info_t;
2776
2815 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_queue_get_info (
2816 amd_dbgapi_queue_id_t queue_id, amd_dbgapi_queue_info_t query,
2817 size_t value_size, void *value) AMD_DBGAPI_VERSION_0_68;
2818
2822 typedef enum
2823{
2827 AMD_DBGAPI_QUEUE_STATE_VALID = 1,
2841 AMD_DBGAPI_QUEUE_STATE_ERROR = 2
2842} amd_dbgapi_queue_state_t;
2843
2848 typedef enum
2849{
2853 AMD_DBGAPI_EXCEPTION_NONE = 0,
2857 AMD_DBGAPI_EXCEPTION_WAVE_ABORT = (1 << 0),
2867 AMD_DBGAPI_EXCEPTION_WAVE_TRAP = (1 << 1),
2883 AMD_DBGAPI_EXCEPTION_WAVE_MATH_ERROR = (1 << 2),
2887 AMD_DBGAPI_EXCEPTION_WAVE_ILLEGAL_INSTRUCTION = (1 << 3),
2893 AMD_DBGAPI_EXCEPTION_WAVE_MEMORY_VIOLATION = (1 << 4),
2900 AMD_DBGAPI_EXCEPTION_WAVE_ADDRESS_ERROR = (1 << 5),
2904 AMD_DBGAPI_EXCEPTION_WAVE_APERTURE_VIOLATION DEPRECATED
2905 = AMD_DBGAPI_EXCEPTION_WAVE_ADDRESS_ERROR,
2909 AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_DIM_INVALID = (1 << 16),
2913 AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID = (1 << 17),
2917 AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_CODE_INVALID = (1 << 18),
2921 AMD_DBGAPI_EXCEPTION_PACKET_UNSUPPORTED = (1 << 20),
2925 AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_WORKGROUP_SIZE_INVALID = (1 << 21),
2929 AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_REGISTER_COUNT_TOO_LARGE = (1 << 22),
2933 AMD_DBGAPI_EXCEPTION_PACKET_VENDOR_UNSUPPORTED = (1 << 23),
2942 AMD_DBGAPI_EXCEPTION_QUEUE_PREEMPTION_ERROR = (1 << 31)
2943} amd_dbgapi_exceptions_t;
2944
2997 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_queue_list (
2998 amd_dbgapi_process_id_t process_id, size_t *queue_count,
2999 amd_dbgapi_queue_id_t **queues,
3000 amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54;
3001
3065 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_queue_packet_list (
3066 amd_dbgapi_queue_id_t queue_id,
3067 amd_dbgapi_os_queue_packet_id_t *read_packet_id,
3068 amd_dbgapi_os_queue_packet_id_t *write_packet_id,
3069 size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_54;
3070
3089 typedef struct
3090{
3091 uint64_t handle;
3092} amd_dbgapi_dispatch_id_t;
3093
3097#define AMD_DBGAPI_DISPATCH_NONE \
3098 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_dispatch_id_t, 0)
3099
3106 typedef enum
3107{
3112 AMD_DBGAPI_DISPATCH_INFO_QUEUE = 1,
3117 AMD_DBGAPI_DISPATCH_INFO_AGENT = 2,
3122 AMD_DBGAPI_DISPATCH_INFO_PROCESS = 3,
3127 AMD_DBGAPI_DISPATCH_INFO_ARCHITECTURE = 4,
3133 AMD_DBGAPI_DISPATCH_INFO_OS_QUEUE_PACKET_ID = 5,
3138 AMD_DBGAPI_DISPATCH_INFO_BARRIER = 6,
3143 AMD_DBGAPI_DISPATCH_INFO_ACQUIRE_FENCE = 7,
3148 AMD_DBGAPI_DISPATCH_INFO_RELEASE_FENCE = 8,
3153 AMD_DBGAPI_DISPATCH_INFO_GRID_DIMENSIONS = 9,
3158 AMD_DBGAPI_DISPATCH_INFO_WORKGROUP_SIZES = 10,
3163 AMD_DBGAPI_DISPATCH_INFO_GRID_SIZES = 11,
3168 AMD_DBGAPI_DISPATCH_INFO_PRIVATE_SEGMENT_SIZE = 12,
3173 AMD_DBGAPI_DISPATCH_INFO_GROUP_SEGMENT_SIZE = 13,
3178 AMD_DBGAPI_DISPATCH_INFO_KERNEL_ARGUMENT_SEGMENT_ADDRESS = 14,
3183 AMD_DBGAPI_DISPATCH_INFO_KERNEL_DESCRIPTOR_ADDRESS = 15,
3188 AMD_DBGAPI_DISPATCH_INFO_KERNEL_CODE_ENTRY_ADDRESS = 16,
3198 AMD_DBGAPI_DISPATCH_INFO_KERNEL_COMPLETION_ADDRESS = 17
3199} amd_dbgapi_dispatch_info_t;
3200
3242 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dispatch_get_info (
3243 amd_dbgapi_dispatch_id_t dispatch_id, amd_dbgapi_dispatch_info_t query,
3244 size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
3245
3252 typedef enum
3253{
3257 AMD_DBGAPI_DISPATCH_BARRIER_NONE = 0,
3262 AMD_DBGAPI_DISPATCH_BARRIER_PRESENT = 1
3263} amd_dbgapi_dispatch_barrier_t;
3264
3271 typedef enum
3272{
3276 AMD_DBGAPI_DISPATCH_FENCE_SCOPE_NONE = 0,
3280 AMD_DBGAPI_DISPATCH_FENCE_SCOPE_AGENT = 1,
3284 AMD_DBGAPI_DISPATCH_FENCE_SCOPE_SYSTEM = 2
3285} amd_dbgapi_dispatch_fence_scope_t;
3286
3335 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_dispatch_list (
3336 amd_dbgapi_process_id_t process_id, size_t *dispatch_count,
3337 amd_dbgapi_dispatch_id_t **dispatches,
3338 amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54;
3339
3356 typedef struct
3357{
3358 uint64_t handle;
3359} amd_dbgapi_workgroup_id_t;
3360
3364#define AMD_DBGAPI_WORKGROUP_NONE \
3365 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0)
3366
3373 typedef enum
3374{
3384 AMD_DBGAPI_WORKGROUP_INFO_DISPATCH = 1,
3389 AMD_DBGAPI_WORKGROUP_INFO_QUEUE = 2,
3394 AMD_DBGAPI_WORKGROUP_INFO_AGENT = 3,
3399 AMD_DBGAPI_WORKGROUP_INFO_PROCESS = 4,
3404 AMD_DBGAPI_WORKGROUP_INFO_ARCHITECTURE = 5,
3415 AMD_DBGAPI_WORKGROUP_INFO_WORKGROUP_COORD = 6
3416} amd_dbgapi_workgroup_info_t;
3417
3460 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_workgroup_get_info (
3461 amd_dbgapi_workgroup_id_t workgroup_id, amd_dbgapi_workgroup_info_t query,
3462 size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3463
3513 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_workgroup_list (
3514 amd_dbgapi_process_id_t process_id, size_t *workgroup_count,
3515 amd_dbgapi_workgroup_id_t **workgroups,
3516 amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_64;
3517
3534 typedef struct
3535{
3536 uint64_t handle;
3537} amd_dbgapi_wave_id_t;
3538
3542#define AMD_DBGAPI_WAVE_NONE \
3543 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_wave_id_t, 0)
3544
3551 typedef enum
3552{
3557 AMD_DBGAPI_WAVE_INFO_STATE = 1,
3564 AMD_DBGAPI_WAVE_INFO_STOP_REASON = 2,
3577 AMD_DBGAPI_WAVE_INFO_WATCHPOINTS = 3,
3587 AMD_DBGAPI_WAVE_INFO_WORKGROUP = 4,
3597 AMD_DBGAPI_WAVE_INFO_DISPATCH = 5,
3602 AMD_DBGAPI_WAVE_INFO_QUEUE = 6,
3607 AMD_DBGAPI_WAVE_INFO_AGENT = 7,
3612 AMD_DBGAPI_WAVE_INFO_PROCESS = 8,
3617 AMD_DBGAPI_WAVE_INFO_ARCHITECTURE = 9,
3623 AMD_DBGAPI_WAVE_INFO_PC = 10,
3631 AMD_DBGAPI_WAVE_INFO_EXEC_MASK = 11,
3642 AMD_DBGAPI_WAVE_INFO_WORKGROUP_COORD = 12,
3654 AMD_DBGAPI_WAVE_INFO_WAVE_NUMBER_IN_WORKGROUP = 13,
3659 AMD_DBGAPI_WAVE_INFO_LANE_COUNT = 14
3660} amd_dbgapi_wave_info_t;
3661
3708 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_get_info (
3709 amd_dbgapi_wave_id_t wave_id, amd_dbgapi_wave_info_t query,
3710 size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3711
3715 typedef enum
3716{
3720 AMD_DBGAPI_WAVE_STATE_RUN = 1,
3725 AMD_DBGAPI_WAVE_STATE_SINGLE_STEP = 2,
3738 AMD_DBGAPI_WAVE_STATE_STOP = 3
3739} amd_dbgapi_wave_state_t;
3740
3747 typedef enum
3748{
3753 AMD_DBGAPI_WAVE_STOP_REASON_NONE = 0,
3759 AMD_DBGAPI_WAVE_STOP_REASON_BREAKPOINT = (1 << 0),
3771 AMD_DBGAPI_WAVE_STOP_REASON_WATCHPOINT = (1 << 1),
3775 AMD_DBGAPI_WAVE_STOP_REASON_SINGLE_STEP = (1 << 2),
3783 AMD_DBGAPI_WAVE_STOP_REASON_FP_INPUT_DENORMAL = (1 << 3),
3791 AMD_DBGAPI_WAVE_STOP_REASON_FP_DIVIDE_BY_0 = (1 << 4),
3799 AMD_DBGAPI_WAVE_STOP_REASON_FP_OVERFLOW = (1 << 5),
3807 AMD_DBGAPI_WAVE_STOP_REASON_FP_UNDERFLOW = (1 << 6),
3815 AMD_DBGAPI_WAVE_STOP_REASON_FP_INEXACT = (1 << 7),
3823 AMD_DBGAPI_WAVE_STOP_REASON_FP_INVALID_OPERATION = (1 << 8),
3831 AMD_DBGAPI_WAVE_STOP_REASON_INT_DIVIDE_BY_0 = (1 << 9),
3846 AMD_DBGAPI_WAVE_STOP_REASON_DEBUG_TRAP = (1 << 10),
3862 AMD_DBGAPI_WAVE_STOP_REASON_ASSERT_TRAP = (1 << 11),
3872 AMD_DBGAPI_WAVE_STOP_REASON_TRAP = (1 << 12),
3888 AMD_DBGAPI_WAVE_STOP_REASON_MEMORY_VIOLATION = (1 << 13),
3903 AMD_DBGAPI_WAVE_STOP_REASON_ADDRESS_ERROR = (1 << 14),
3907 AMD_DBGAPI_WAVE_STOP_REASON_APERTURE_VIOLATION DEPRECATED
3908 = AMD_DBGAPI_WAVE_STOP_REASON_ADDRESS_ERROR,
3917 AMD_DBGAPI_WAVE_STOP_REASON_ILLEGAL_INSTRUCTION = (1 << 15),
3930 AMD_DBGAPI_WAVE_STOP_REASON_ECC_ERROR = (1 << 16),
3937 AMD_DBGAPI_WAVE_STOP_REASON_FATAL_HALT = (1 << 17)
3938} amd_dbgapi_wave_stop_reasons_t;
3939
3987 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_wave_list (
3988 amd_dbgapi_process_id_t process_id, size_t *wave_count,
3989 amd_dbgapi_wave_id_t **waves,
3990 amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54;
3991
4073 amd_dbgapi_status_t AMD_DBGAPI
4074amd_dbgapi_wave_stop (amd_dbgapi_wave_id_t wave_id) AMD_DBGAPI_VERSION_0_76;
4075
4079 typedef enum
4080{
4084 AMD_DBGAPI_RESUME_MODE_NORMAL = 0,
4088 AMD_DBGAPI_RESUME_MODE_SINGLE_STEP = 1
4089} amd_dbgapi_resume_mode_t;
4090
4245 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_resume (
4246 amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode,
4247 amd_dbgapi_exceptions_t exceptions) AMD_DBGAPI_VERSION_0_76;
4248
4350 typedef struct
4351{
4352 uint64_t handle;
4353} amd_dbgapi_displaced_stepping_id_t;
4354
4358#define AMD_DBGAPI_DISPLACED_STEPPING_NONE \
4359 (amd_dbgapi_displaced_stepping_id_t{ 0 })
4360
4368 typedef enum
4369{
4374 AMD_DBGAPI_DISPLACED_STEPPING_INFO_PROCESS = 1
4375} amd_dbgapi_displaced_stepping_info_t;
4376
4416 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_get_info (
4417 amd_dbgapi_displaced_stepping_id_t displaced_stepping_id,
4418 amd_dbgapi_displaced_stepping_info_t query, size_t value_size,
4419 void *value) AMD_DBGAPI_VERSION_0_54;
4420
4506 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_start (
4507 amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes,
4508 amd_dbgapi_displaced_stepping_id_t *displaced_stepping)
4509 AMD_DBGAPI_VERSION_0_76;
4510
4564 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_complete (
4565 amd_dbgapi_wave_id_t wave_id,
4566 amd_dbgapi_displaced_stepping_id_t displaced_stepping)
4567 AMD_DBGAPI_VERSION_0_76;
4568
4602 typedef struct
4603{
4604 uint64_t handle;
4605} amd_dbgapi_watchpoint_id_t;
4606
4610#define AMD_DBGAPI_WATCHPOINT_NONE \
4611 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_watchpoint_id_t, 0)
4612
4619 typedef enum
4620{
4625 AMD_DBGAPI_WATCHPOINT_INFO_PROCESS = 1,
4630 AMD_DBGAPI_WATCHPOINT_INFO_ADDRESS = 2,
4635 AMD_DBGAPI_WATCHPOINT_INFO_SIZE = 3
4636} amd_dbgapi_watchpoint_info_t;
4637
4676 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_watchpoint_get_info (
4677 amd_dbgapi_watchpoint_id_t watchpoint_id,
4678 amd_dbgapi_watchpoint_info_t query, size_t value_size,
4679 void *value) AMD_DBGAPI_VERSION_0_54;
4680
4687 typedef enum
4688{
4692 AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSUPPORTED = 0,
4698 AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSHARED = 1,
4704 AMD_DBGAPI_WATCHPOINT_SHARE_KIND_SHARED = 2
4705} amd_dbgapi_watchpoint_share_kind_t;
4706
4713 typedef enum
4714{
4718 AMD_DBGAPI_WATCHPOINT_KIND_LOAD = 1,
4723 AMD_DBGAPI_WATCHPOINT_KIND_STORE_AND_RMW = 2,
4727 AMD_DBGAPI_WATCHPOINT_KIND_RMW = 3,
4732 AMD_DBGAPI_WATCHPOINT_KIND_ALL = 4
4733} amd_dbgapi_watchpoint_kind_t;
4734
4741 typedef struct
4742{
4743 size_t count;
4744 amd_dbgapi_watchpoint_id_t *watchpoint_ids;
4745} amd_dbgapi_watchpoint_list_t;
4746
4818 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_watchpoint (
4819 amd_dbgapi_process_id_t process_id, amd_dbgapi_global_address_t address,
4820 amd_dbgapi_size_t size, amd_dbgapi_watchpoint_kind_t kind,
4821 amd_dbgapi_watchpoint_id_t *watchpoint_id) AMD_DBGAPI_VERSION_0_76;
4822
4845 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_remove_watchpoint (
4846 amd_dbgapi_watchpoint_id_t watchpoint_id) AMD_DBGAPI_VERSION_0_76;
4847
4869 typedef struct
4870{
4871 uint64_t handle;
4872} amd_dbgapi_register_class_id_t;
4873
4877#define AMD_DBGAPI_REGISTER_CLASS_NONE \
4878 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_class_id_t, 0)
4879
4887 typedef enum
4888{
4893 AMD_DBGAPI_REGISTER_CLASS_INFO_ARCHITECTURE = 1,
4900 AMD_DBGAPI_REGISTER_CLASS_INFO_NAME = 2
4901} amd_dbgapi_register_class_info_t;
4902
4941 amd_dbgapi_status_t AMD_DBGAPI
4942amd_dbgapi_architecture_register_class_get_info (
4943 amd_dbgapi_register_class_id_t register_class_id,
4944 amd_dbgapi_register_class_info_t query, size_t value_size,
4945 void *value) AMD_DBGAPI_VERSION_0_54;
4946
4987 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_class_list (
4988 amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count,
4989 amd_dbgapi_register_class_id_t **register_classes) AMD_DBGAPI_VERSION_0_54;
4990
4999 typedef struct
5000{
5001 uint64_t handle;
5002} amd_dbgapi_register_id_t;
5003
5007#define AMD_DBGAPI_REGISTER_NONE \
5008 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_id_t, 0)
5009
5016 typedef enum
5017{
5021 AMD_DBGAPI_REGISTER_PROPERTY_NONE = 0,
5027 AMD_DBGAPI_REGISTER_PROPERTY_READONLY_BITS = (1 << 0),
5034 AMD_DBGAPI_REGISTER_PROPERTY_VOLATILE = (1 << 1),
5041 AMD_DBGAPI_REGISTER_PROPERTY_INVALIDATE_VOLATILE = (1 << 2)
5042} amd_dbgapi_register_properties_t;
5043
5050 typedef enum
5051{
5056 AMD_DBGAPI_REGISTER_INFO_ARCHITECTURE = 1,
5063 AMD_DBGAPI_REGISTER_INFO_NAME = 2,
5068 AMD_DBGAPI_REGISTER_INFO_SIZE = 3,
5129 AMD_DBGAPI_REGISTER_INFO_TYPE = 4,
5138 AMD_DBGAPI_REGISTER_INFO_DWARF = 5,
5143 AMD_DBGAPI_REGISTER_INFO_PROPERTIES = 6
5144} amd_dbgapi_register_info_t;
5145
5189 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_register_get_info (
5190 amd_dbgapi_register_id_t register_id, amd_dbgapi_register_info_t query,
5191 size_t value_size, void *value) AMD_DBGAPI_VERSION_0_70;
5192
5196 typedef enum
5197{
5201 AMD_DBGAPI_REGISTER_ABSENT = 0,
5205 AMD_DBGAPI_REGISTER_PRESENT = 1
5206} amd_dbgapi_register_exists_t;
5207
5241 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_register_exists (
5242 amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5243 amd_dbgapi_register_exists_t *exists) AMD_DBGAPI_VERSION_0_54;
5244
5289 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_list (
5290 amd_dbgapi_architecture_id_t architecture_id, size_t *register_count,
5291 amd_dbgapi_register_id_t **registers) AMD_DBGAPI_VERSION_0_54;
5292
5336 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_register_list (
5337 amd_dbgapi_wave_id_t wave_id, size_t *register_count,
5338 amd_dbgapi_register_id_t **registers) AMD_DBGAPI_VERSION_0_54;
5339
5376 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dwarf_register_to_register (
5377 amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register,
5378 amd_dbgapi_register_id_t *register_id) AMD_DBGAPI_VERSION_0_54;
5379
5383 typedef enum
5384{
5388 AMD_DBGAPI_REGISTER_CLASS_STATE_NOT_MEMBER = 0,
5392 AMD_DBGAPI_REGISTER_CLASS_STATE_MEMBER = 1
5393} amd_dbgapi_register_class_state_t;
5394
5432 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_register_is_in_register_class (
5433 amd_dbgapi_register_class_id_t register_class_id,
5434 amd_dbgapi_register_id_t register_id,
5435 amd_dbgapi_register_class_state_t *register_class_state)
5436 AMD_DBGAPI_VERSION_0_54;
5437
5494 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_read_register (
5495 amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5496 amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5497 void *value) AMD_DBGAPI_VERSION_0_62;
5498
5563 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_write_register (
5564 amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5565 amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5566 const void *value) AMD_DBGAPI_VERSION_0_76;
5567
5621 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_prefetch_register (
5622 amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5623 amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_62;
5624
5632 typedef struct
5633{
5634 amd_dbgapi_global_address_t target_address;
5635 amd_dbgapi_register_id_t saved_return_address_register[2];
5636} amd_dbgapi_direct_call_register_pair_information_t;
5637
5677 typedef uint32_t amd_dbgapi_lane_id_t;
5678
5682#define AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1))
5683
5697 typedef struct
5698{
5699 uint64_t handle;
5700} amd_dbgapi_address_class_id_t;
5701
5705#define AMD_DBGAPI_ADDRESS_CLASS_NONE \
5706 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_class_id_t, 0)
5707
5715 typedef enum
5716{
5723 AMD_DBGAPI_ADDRESS_CLASS_INFO_NAME = 1,
5732 AMD_DBGAPI_ADDRESS_CLASS_INFO_ADDRESS_SPACE = 2,
5737 AMD_DBGAPI_ADDRESS_CLASS_INFO_DWARF = 3
5738} amd_dbgapi_address_class_info_t;
5739
5779 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_class_get_info (
5780 amd_dbgapi_address_class_id_t address_class_id,
5781 amd_dbgapi_address_class_info_t query, size_t value_size,
5782 void *value) AMD_DBGAPI_VERSION_0_62;
5783
5825 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_address_class_list (
5826 amd_dbgapi_architecture_id_t architecture_id, size_t *address_class_count,
5827 amd_dbgapi_address_class_id_t **address_classes) AMD_DBGAPI_VERSION_0_54;
5828
5866 amd_dbgapi_status_t AMD_DBGAPI
5867amd_dbgapi_dwarf_address_class_to_address_class (
5868 amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_class,
5869 amd_dbgapi_address_class_id_t *address_class_id) AMD_DBGAPI_VERSION_0_54;
5870
5882 typedef struct
5883{
5884 uint64_t handle;
5885} amd_dbgapi_address_space_id_t;
5886
5890#define AMD_DBGAPI_ADDRESS_SPACE_NONE \
5891 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 0)
5892
5899#define AMD_DBGAPI_ADDRESS_SPACE_GLOBAL \
5900 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 1)
5901
5905 typedef enum
5906{
5911 AMD_DBGAPI_ADDRESS_SPACE_ACCESS_ALL = 1,
5916 AMD_DBGAPI_ADDRESS_SPACE_ACCESS_PROGRAM_CONSTANT = 2,
5921 AMD_DBGAPI_ADDRESS_SPACE_ACCESS_DISPATCH_CONSTANT = 3
5922} amd_dbgapi_address_space_access_t;
5923
5931 typedef enum
5932{
5939 AMD_DBGAPI_ADDRESS_SPACE_INFO_NAME = 1,
5944 AMD_DBGAPI_ADDRESS_SPACE_INFO_ADDRESS_SIZE = 2,
5949 AMD_DBGAPI_ADDRESS_SPACE_INFO_NULL_ADDRESS = 3,
5954 AMD_DBGAPI_ADDRESS_SPACE_INFO_ACCESS = 4,
5959 AMD_DBGAPI_ADDRESS_SPACE_INFO_DWARF = 5
5960} amd_dbgapi_address_space_info_t;
5961
6000 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_space_get_info (
6001 amd_dbgapi_address_space_id_t address_space_id,
6002 amd_dbgapi_address_space_info_t query, size_t value_size,
6003 void *value) AMD_DBGAPI_VERSION_0_62;
6004
6043 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_address_space_list (
6044 amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count,
6045 amd_dbgapi_address_space_id_t **address_spaces) AMD_DBGAPI_VERSION_0_54;
6046
6085 amd_dbgapi_status_t AMD_DBGAPI
6086amd_dbgapi_dwarf_address_space_to_address_space (
6087 amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space,
6088 amd_dbgapi_address_space_id_t *address_space_id) AMD_DBGAPI_VERSION_0_54;
6089
6106 typedef uint64_t amd_dbgapi_segment_address_t;
6107
6222 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_convert_address_space (
6223 amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6224 amd_dbgapi_address_space_id_t source_address_space_id,
6225 amd_dbgapi_segment_address_t source_segment_address,
6226 amd_dbgapi_address_space_id_t destination_address_space_id,
6227 amd_dbgapi_segment_address_t *destination_segment_address,
6228 amd_dbgapi_size_t *destination_contiguous_bytes)
6229 AMD_DBGAPI_VERSION_0_62;
6230
6236 typedef enum
6237{
6241 AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_NONE = 0,
6245 AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_LANE = 1,
6249 AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_WAVE = 2,
6253 AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_WORKGROUP = 3,
6257 AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_AGENT = 4,
6261 AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_PROCESS = 5
6262} amd_dbgapi_segment_address_dependency_t;
6263
6302 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_dependency (
6303 amd_dbgapi_address_space_id_t address_space_id,
6304 amd_dbgapi_segment_address_t segment_address,
6305 amd_dbgapi_segment_address_dependency_t *segment_address_dependency)
6306 AMD_DBGAPI_VERSION_0_64;
6307
6312 typedef enum
6313{
6318 AMD_DBGAPI_ADDRESS_CLASS_STATE_NOT_MEMBER = 0,
6323 AMD_DBGAPI_ADDRESS_CLASS_STATE_MEMBER = 1
6324} amd_dbgapi_address_class_state_t;
6325
6397 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_is_in_address_class (
6398 amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6399 amd_dbgapi_address_space_id_t address_space_id,
6400 amd_dbgapi_segment_address_t segment_address,
6401 amd_dbgapi_address_class_id_t address_class_id,
6402 amd_dbgapi_address_class_state_t *address_class_state)
6403 AMD_DBGAPI_VERSION_0_54;
6404
6503 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_read_memory (
6504 amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6505 amd_dbgapi_lane_id_t lane_id,
6506 amd_dbgapi_address_space_id_t address_space_id,
6507 amd_dbgapi_segment_address_t segment_address,
6508 amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_54;
6509
6612 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_write_memory (
6613 amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6614 amd_dbgapi_lane_id_t lane_id,
6615 amd_dbgapi_address_space_id_t address_space_id,
6616 amd_dbgapi_segment_address_t segment_address,
6617 amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_76;
6618
6637 typedef enum
6638{
6643 AMD_DBGAPI_MEMORY_PRECISION_NONE = 0,
6648 AMD_DBGAPI_MEMORY_PRECISION_PRECISE = 1
6649} amd_dbgapi_memory_precision_t;
6650
6689 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_memory_precision (
6690 amd_dbgapi_process_id_t process_id,
6691 amd_dbgapi_memory_precision_t memory_precision) AMD_DBGAPI_VERSION_0_54;
6692
6711 typedef enum
6712{
6717 AMD_DBGAPI_ALU_EXCEPTIONS_PRECISION_NONE = 0,
6723 AMD_DBGAPI_ALU_EXCEPTIONS_PRECISION_PRECISE = 1
6724} amd_dbgapi_alu_exceptions_precision_t;
6725
6765 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_alu_exceptions_precision (
6766 amd_dbgapi_process_id_t process_id,
6767 amd_dbgapi_alu_exceptions_precision_t alu_exceptions_precision)
6768 AMD_DBGAPI_VERSION_0_77;
6769
6801 typedef struct
6802{
6803 uint64_t handle;
6804} amd_dbgapi_event_id_t;
6805
6809#define AMD_DBGAPI_EVENT_NONE \
6810 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_event_id_t, 0)
6811
6815 typedef enum
6816{
6820 AMD_DBGAPI_EVENT_KIND_NONE = 0,
6824 AMD_DBGAPI_EVENT_KIND_WAVE_STOP = 1,
6839 AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED = 2,
6861 AMD_DBGAPI_EVENT_KIND_CODE_OBJECT_LIST_UPDATED = 3,
6874 AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME = 4,
6889 AMD_DBGAPI_EVENT_KIND_RUNTIME = 5,
6923 AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR = 6
6924} amd_dbgapi_event_kind_t;
6925
6961 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_next_pending_event (
6962 amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id,
6963 amd_dbgapi_event_kind_t *kind) AMD_DBGAPI_VERSION_0_54;
6964
6968 typedef enum
6969{
6974 AMD_DBGAPI_RUNTIME_STATE_LOADED_SUCCESS = 1,
6978 AMD_DBGAPI_RUNTIME_STATE_UNLOADED = 2,
6984 AMD_DBGAPI_RUNTIME_STATE_LOADED_ERROR_RESTRICTION = 3
6985} amd_dbgapi_runtime_state_t;
6986
6993 typedef enum
6994{
6999 AMD_DBGAPI_EVENT_INFO_PROCESS = 1,
7004 AMD_DBGAPI_EVENT_INFO_KIND = 2,
7010 AMD_DBGAPI_EVENT_INFO_WAVE = 3,
7015 AMD_DBGAPI_EVENT_INFO_BREAKPOINT = 4,
7020 AMD_DBGAPI_EVENT_INFO_CLIENT_THREAD = 5,
7027 AMD_DBGAPI_EVENT_INFO_RUNTIME_STATE = 6,
7032 AMD_DBGAPI_EVENT_INFO_QUEUE = 7
7033} amd_dbgapi_event_info_t;
7034
7074 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_event_get_info (
7075 amd_dbgapi_event_id_t event_id, amd_dbgapi_event_info_t query,
7076 size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
7077
7103 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_event_processed (
7104 amd_dbgapi_event_id_t event_id) AMD_DBGAPI_VERSION_0_54;
7105
7127 typedef enum
7128{
7132 AMD_DBGAPI_LOG_LEVEL_NONE = 0,
7137 AMD_DBGAPI_LOG_LEVEL_FATAL_ERROR = 1,
7141 AMD_DBGAPI_LOG_LEVEL_WARNING = 2,
7145 AMD_DBGAPI_LOG_LEVEL_INFO = 3,
7149 AMD_DBGAPI_LOG_LEVEL_TRACE = 4,
7153 AMD_DBGAPI_LOG_LEVEL_VERBOSE = 5
7154} amd_dbgapi_log_level_t;
7155
7174 void AMD_DBGAPI amd_dbgapi_set_log_level (amd_dbgapi_log_level_t level)
7175 AMD_DBGAPI_VERSION_0_54;
7176
7202 typedef struct
7203{
7204 uint64_t handle;
7205} amd_dbgapi_breakpoint_id_t;
7206
7210#define AMD_DBGAPI_BREAKPOINT_NONE \
7211 AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0)
7212
7219 typedef enum
7220{
7225 AMD_DBGAPI_BREAKPOINT_INFO_PROCESS = 1
7226} amd_dbgapi_breakpoint_info_t;
7227
7266 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_breakpoint_get_info (
7267 amd_dbgapi_breakpoint_id_t breakpoint_id,
7268 amd_dbgapi_breakpoint_info_t query, size_t value_size,
7269 void *value) AMD_DBGAPI_VERSION_0_54;
7270
7274 typedef enum
7275{
7279 AMD_DBGAPI_BREAKPOINT_ACTION_RESUME = 1,
7283 AMD_DBGAPI_BREAKPOINT_ACTION_HALT = 2
7284} amd_dbgapi_breakpoint_action_t;
7285
7295 typedef struct amd_dbgapi_client_thread_s *amd_dbgapi_client_thread_id_t;
7296
7334 amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_report_breakpoint_hit (
7335 amd_dbgapi_breakpoint_id_t breakpoint_id,
7336 amd_dbgapi_client_thread_id_t client_thread_id,
7337 amd_dbgapi_breakpoint_action_t *breakpoint_action) AMD_DBGAPI_VERSION_0_54;
7338
7345 typedef enum
7346{
7357 AMD_DBGAPI_CLIENT_PROCESS_INFO_OS_PID = 1,
7367 AMD_DBGAPI_CLIENT_PROCESS_INFO_CORE_STATE = 2,
7368} amd_dbgapi_client_process_info_t;
7369
7376 struct amd_dbgapi_callbacks_s
7377{
7378
7390 void *(*allocate_memory) (size_t byte_size);
7391
7408 void (*deallocate_memory) (void *data);
7409
7444 amd_dbgapi_status_t (*client_process_get_info) (
7445 amd_dbgapi_client_process_id_t client_process_id,
7446 amd_dbgapi_client_process_info_t query,
7447 size_t value_size, void *value);
7448
7484 amd_dbgapi_status_t (*insert_breakpoint) (
7485 amd_dbgapi_client_process_id_t client_process_id,
7486 amd_dbgapi_global_address_t address,
7487 amd_dbgapi_breakpoint_id_t breakpoint_id);
7488
7519 amd_dbgapi_status_t (*remove_breakpoint) (
7520 amd_dbgapi_client_process_id_t client_process_id,
7521 amd_dbgapi_breakpoint_id_t breakpoint_id);
7522
7559 amd_dbgapi_status_t (*xfer_global_memory) (
7560 amd_dbgapi_client_process_id_t client_process_id,
7561 amd_dbgapi_global_address_t global_address,
7562 amd_dbgapi_size_t *value_size, void *read_buffer,
7563 const void *write_buffer);
7564
7573 void (*log_message) (amd_dbgapi_log_level_t level, const char *message);
7574};
7575
7578#if defined(__cplusplus)
7579} /* extern "C" */
7580#endif /* defined (__cplusplus) */
7581
7582#endif /* amd-dbgapi.h */
AMD_DBGAPI
#define AMD_DBGAPI
Definition amd-dbgapi.h:512
DEPRECATED
#define DEPRECATED
Old deprecated name kept for backward compatibility.
Definition amd-dbgapi.h:529
amd_dbgapi_agent_state_t
amd_dbgapi_agent_state_t
Agent state.
Definition amd-dbgapi.h:2559
amd_dbgapi_agent_info_t
amd_dbgapi_agent_info_t
Agent queries that are supported by amd_dbgapi_agent_get_info.
Definition amd-dbgapi.h:2493
amd_dbgapi_agent_get_info
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_process_agent_list
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_agent_list(amd_dbgapi_process_id_t process_id, size_t *agent_count, amd_dbgapi_agent_id_t **agents, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of agents.
AMD_DBGAPI_AGENT_STATE_NOT_SUPPORTED
@ AMD_DBGAPI_AGENT_STATE_NOT_SUPPORTED
Agent does not support debugging.
Definition amd-dbgapi.h:2586
AMD_DBGAPI_AGENT_STATE_SUPPORTED
@ AMD_DBGAPI_AGENT_STATE_SUPPORTED
Agent supports debugging.
Definition amd-dbgapi.h:2563
AMD_DBGAPI_AGENT_INFO_STATE
@ AMD_DBGAPI_AGENT_INFO_STATE
Return the agent state.
Definition amd-dbgapi.h:2519
AMD_DBGAPI_AGENT_INFO_OS_ID
@ AMD_DBGAPI_AGENT_INFO_OS_ID
Native operating system agent ID.
Definition amd-dbgapi.h:2552
AMD_DBGAPI_AGENT_INFO_PCI_DEVICE_ID
@ AMD_DBGAPI_AGENT_INFO_PCI_DEVICE_ID
PCI device ID of the agent.
Definition amd-dbgapi.h:2537
AMD_DBGAPI_AGENT_INFO_PROCESS
@ AMD_DBGAPI_AGENT_INFO_PROCESS
Return the process to which this agent belongs.
Definition amd-dbgapi.h:2498
AMD_DBGAPI_AGENT_INFO_PCI_VENDOR_ID
@ AMD_DBGAPI_AGENT_INFO_PCI_VENDOR_ID
PCI vendor ID of the agent.
Definition amd-dbgapi.h:2533
AMD_DBGAPI_AGENT_INFO_NAME
@ AMD_DBGAPI_AGENT_INFO_NAME
Agent name.
Definition amd-dbgapi.h:2504
AMD_DBGAPI_AGENT_INFO_ARCHITECTURE
@ AMD_DBGAPI_AGENT_INFO_ARCHITECTURE
Return the architecture of this agent.
Definition amd-dbgapi.h:2514
AMD_DBGAPI_AGENT_INFO_EXECUTION_UNIT_COUNT
@ AMD_DBGAPI_AGENT_INFO_EXECUTION_UNIT_COUNT
Total number of Execution Units (EUs) available in the agent.
Definition amd-dbgapi.h:2542
AMD_DBGAPI_AGENT_INFO_PCI_DOMAIN
@ AMD_DBGAPI_AGENT_INFO_PCI_DOMAIN
PCI domain the agent is in.
Definition amd-dbgapi.h:2523
AMD_DBGAPI_AGENT_INFO_PCI_SLOT
@ AMD_DBGAPI_AGENT_INFO_PCI_SLOT
PCI slot of the agent in BDF format (see [Bus:Device.Function (BDF) Notation][bfd].
Definition amd-dbgapi.h:2529
AMD_DBGAPI_AGENT_INFO_MAX_WAVES_PER_EXECUTION_UNIT
@ AMD_DBGAPI_AGENT_INFO_MAX_WAVES_PER_EXECUTION_UNIT
Maximum number of waves supported by an execution unit.
Definition amd-dbgapi.h:2547
amd_dbgapi_architecture_info_t
amd_dbgapi_architecture_info_t
Architecture queries that are supported by amd_dbgapi_architecture_get_info.
Definition amd-dbgapi.h:1224
amd_dbgapi_disassemble_instruction
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_classify_instruction
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_classify_instruction(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size, const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind, amd_dbgapi_instruction_properties_t *instruction_properties, void **instruction_information) AMD_DBGAPI_VERSION_0_58
Classify a single instruction.
amd_dbgapi_symbolizer_id_t
struct amd_dbgapi_symbolizer_id_s * amd_dbgapi_symbolizer_id_t
Opaque client symbolizer handle.
Definition amd-dbgapi.h:1358
amd_dbgapi_instruction_kind_t
amd_dbgapi_instruction_kind_t
The kinds of instruction classifications.
Definition amd-dbgapi.h:1467
amd_dbgapi_instruction_properties_t
amd_dbgapi_instruction_properties_t
A bit mask of the properties of an instruction.
Definition amd-dbgapi.h:1583
amd_dbgapi_architecture_get_info
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_get_info(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_architecture_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about an architecture.
amd_dbgapi_get_architecture
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_get_architecture(uint32_t elf_amdgpu_machine, amd_dbgapi_architecture_id_t *architecture_id) AMD_DBGAPI_VERSION_0_54
Get an architecture from the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
AMD_DBGAPI_ARCHITECTURE_INFO_ELF_AMDGPU_MACHINE
@ AMD_DBGAPI_ARCHITECTURE_INFO_ELF_AMDGPU_MACHINE
Return the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
Definition amd-dbgapi.h:1239
AMD_DBGAPI_ARCHITECTURE_INFO_MINIMUM_INSTRUCTION_ALIGNMENT
@ AMD_DBGAPI_ARCHITECTURE_INFO_MINIMUM_INSTRUCTION_ALIGNMENT
Return the minimum instruction alignment in bytes for the architecture.
Definition amd-dbgapi.h:1250
AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_SIZE
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_SIZE
Return the breakpoint instruction size in bytes for the architecture.
Definition amd-dbgapi.h:1255
AMD_DBGAPI_ARCHITECTURE_INFO_PC_REGISTER
@ AMD_DBGAPI_ARCHITECTURE_INFO_PC_REGISTER
Return the register handle for the PC for the architecture.
Definition amd-dbgapi.h:1274
AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_PC_ADJUST
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_PC_ADJUST
Return the number of bytes to subtract from the PC after stopping due to a breakpoint instruction to ...
Definition amd-dbgapi.h:1269
AMD_DBGAPI_ARCHITECTURE_INFO_LARGEST_INSTRUCTION_SIZE
@ AMD_DBGAPI_ARCHITECTURE_INFO_LARGEST_INSTRUCTION_SIZE
Return the largest instruction size in bytes for the architecture.
Definition amd-dbgapi.h:1244
AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION
Return the breakpoint instruction for the architecture.
Definition amd-dbgapi.h:1263
AMD_DBGAPI_ARCHITECTURE_INFO_NAME
@ AMD_DBGAPI_ARCHITECTURE_INFO_NAME
Return the architecture name.
Definition amd-dbgapi.h:1231
AMD_DBGAPI_INSTRUCTION_KIND_BARRIER
@ AMD_DBGAPI_INSTRUCTION_KIND_BARRIER
The instruction performs some kind of execution barrier which may result in the wave being halted unt...
Definition amd-dbgapi.h:1561
AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_CALL_REGISTER_PAIRS
@ AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_CALL_REGISTER_PAIRS
The instruction unconditionally branches to an address held in a pair of source registers and the add...
Definition amd-dbgapi.h:1530
AMD_DBGAPI_INSTRUCTION_KIND_SEQUENTIAL
@ AMD_DBGAPI_INSTRUCTION_KIND_SEQUENTIAL
The instruction executes sequentially.
Definition amd-dbgapi.h:1478
AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_CONDITIONAL_REGISTER_PAIR
@ AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_CONDITIONAL_REGISTER_PAIR
The instruction conditionally branches to an address held in a pair of registers.
Definition amd-dbgapi.h:1509
AMD_DBGAPI_INSTRUCTION_KIND_SPECIAL
@ AMD_DBGAPI_INSTRUCTION_KIND_SPECIAL
The instruction has some form of special behavior not covered by any of the other instruction kinds.
Definition amd-dbgapi.h:1576
AMD_DBGAPI_INSTRUCTION_KIND_HALT
@ AMD_DBGAPI_INSTRUCTION_KIND_HALT
The instruction unconditionally halts the wave.
Definition amd-dbgapi.h:1554
AMD_DBGAPI_INSTRUCTION_KIND_TRAP
@ AMD_DBGAPI_INSTRUCTION_KIND_TRAP
The instruction enters the trap handler.
Definition amd-dbgapi.h:1549
AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_CALL_REGISTER_PAIR
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_CALL_REGISTER_PAIR
The instruction unconditionally branches to a literal address and the address of the following instru...
Definition amd-dbgapi.h:1520
AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_REGISTER_PAIR
@ AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_REGISTER_PAIR
The instruction unconditionally branches to an address held in a pair of registers.
Definition amd-dbgapi.h:1499
AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH_CONDITIONAL
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH_CONDITIONAL
The instruction conditionally branches to a literal address.
Definition amd-dbgapi.h:1491
AMD_DBGAPI_INSTRUCTION_KIND_SLEEP
@ AMD_DBGAPI_INSTRUCTION_KIND_SLEEP
The instruction causes the wave to stop executing for some period of time, before continuing executio...
Definition amd-dbgapi.h:1567
AMD_DBGAPI_INSTRUCTION_KIND_TERMINATE
@ AMD_DBGAPI_INSTRUCTION_KIND_TERMINATE
The instruction terminates the wave execution.
Definition amd-dbgapi.h:1535
AMD_DBGAPI_INSTRUCTION_KIND_UNKNOWN
@ AMD_DBGAPI_INSTRUCTION_KIND_UNKNOWN
The instruction classification is unknown.
Definition amd-dbgapi.h:1472
AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH
The instruction unconditionally branches to a literal address.
Definition amd-dbgapi.h:1484
AMD_DBGAPI_INSTRUCTION_PROPERTY_NONE
@ AMD_DBGAPI_INSTRUCTION_PROPERTY_NONE
The instruction has no properties.
Definition amd-dbgapi.h:1587
amd_dbgapi_size_t
uint64_t amd_dbgapi_size_t
Integral type used for sizes, including memory allocations, in the inferior.
Definition amd-dbgapi.h:653
amd_dbgapi_os_queue_id_t
uint64_t amd_dbgapi_os_queue_id_t
Native operating system queue ID.
Definition amd-dbgapi.h:727
amd_dbgapi_global_address_t
uint64_t amd_dbgapi_global_address_t
Integral type used for a global virtual memory address in the inferior process.
Definition amd-dbgapi.h:648
amd_dbgapi_os_queue_packet_id_t
uint64_t amd_dbgapi_os_queue_packet_id_t
Native operating system queue packet ID.
Definition amd-dbgapi.h:739
amd_dbgapi_os_agent_id_t
uint64_t amd_dbgapi_os_agent_id_t
Native operating system agent ID.
Definition amd-dbgapi.h:717
amd_dbgapi_os_queue_type_t
amd_dbgapi_os_queue_type_t
Native operating system queue type.
Definition amd-dbgapi.h:751
amd_dbgapi_notifier_t
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:706
amd_dbgapi_os_process_id_t
pid_t amd_dbgapi_os_process_id_t
Native operating system process ID.
Definition amd-dbgapi.h:678
amd_dbgapi_changed_t
amd_dbgapi_changed_t
Indication of if a value has changed.
Definition amd-dbgapi.h:659
AMD_DBGAPI_OS_QUEUE_TYPE_UNKNOWN
@ AMD_DBGAPI_OS_QUEUE_TYPE_UNKNOWN
Unknown queue type.
Definition amd-dbgapi.h:755
AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA
@ AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA
Queue supports the AMD SDMA protocol.
Definition amd-dbgapi.h:767
AMD_DBGAPI_OS_QUEUE_TYPE_AMD_PM4
@ AMD_DBGAPI_OS_QUEUE_TYPE_AMD_PM4
Queue supports the AMD PM4 protocol.
Definition amd-dbgapi.h:763
AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA_XGMI
@ AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA_XGMI
Queue supports the AMD SDMA XGMI protocol.
Definition amd-dbgapi.h:771
AMD_DBGAPI_OS_QUEUE_TYPE_HSA_AQL
@ AMD_DBGAPI_OS_QUEUE_TYPE_HSA_AQL
Queue supports the HSA AQL protocol.
Definition amd-dbgapi.h:759
AMD_DBGAPI_CHANGED_YES
@ AMD_DBGAPI_CHANGED_YES
The value has changed.
Definition amd-dbgapi.h:667
AMD_DBGAPI_CHANGED_NO
@ AMD_DBGAPI_CHANGED_NO
The value has not changed.
Definition amd-dbgapi.h:663
amd_dbgapi_breakpoint_info_t
amd_dbgapi_breakpoint_info_t
Breakpoint queries that are supported by amd_dbgapi_breakpoint_get_info.
Definition amd-dbgapi.h:7220
amd_dbgapi_client_process_info_t
amd_dbgapi_client_process_info_t
Client queries that are supported by the client_process_get_info callback.
Definition amd-dbgapi.h:7346
amd_dbgapi_breakpoint_action_t
amd_dbgapi_breakpoint_action_t
The action to perform after reporting a breakpoint has been hit.
Definition amd-dbgapi.h:7275
amd_dbgapi_client_thread_id_t
struct amd_dbgapi_client_thread_s * amd_dbgapi_client_thread_id_t
Opaque client thread handle.
Definition amd-dbgapi.h:7295
amd_dbgapi_breakpoint_get_info
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_report_breakpoint_hit
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 ...
AMD_DBGAPI_BREAKPOINT_INFO_PROCESS
@ AMD_DBGAPI_BREAKPOINT_INFO_PROCESS
Return the process to which this breakpoint belongs.
Definition amd-dbgapi.h:7225
AMD_DBGAPI_CLIENT_PROCESS_INFO_CORE_STATE
@ AMD_DBGAPI_CLIENT_PROCESS_INFO_CORE_STATE
If the current process is created from a core file, return the content of the AMDGPU state note if pr...
Definition amd-dbgapi.h:7367
AMD_DBGAPI_CLIENT_PROCESS_INFO_OS_PID
@ AMD_DBGAPI_CLIENT_PROCESS_INFO_OS_PID
Return the native operating system process handle.
Definition amd-dbgapi.h:7357
AMD_DBGAPI_BREAKPOINT_ACTION_RESUME
@ AMD_DBGAPI_BREAKPOINT_ACTION_RESUME
Resume execution.
Definition amd-dbgapi.h:7279
AMD_DBGAPI_BREAKPOINT_ACTION_HALT
@ AMD_DBGAPI_BREAKPOINT_ACTION_HALT
Leave execution halted.
Definition amd-dbgapi.h:7283
amd_dbgapi_code_object_info_t
amd_dbgapi_code_object_info_t
Code object queries that are supported by amd_dbgapi_code_object_get_info.
Definition amd-dbgapi.h:2292
amd_dbgapi_code_object_get_info
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_process_code_object_list
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_code_object_list(amd_dbgapi_process_id_t process_id, size_t *code_object_count, amd_dbgapi_code_object_id_t **code_objects, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of loaded code objects.
AMD_DBGAPI_CODE_OBJECT_INFO_PROCESS
@ AMD_DBGAPI_CODE_OBJECT_INFO_PROCESS
Return the process to which this code object belongs.
Definition amd-dbgapi.h:2297
AMD_DBGAPI_CODE_OBJECT_INFO_URI_NAME
@ AMD_DBGAPI_CODE_OBJECT_INFO_URI_NAME
The URI name of the ELF shared object from which the code object was loaded.
Definition amd-dbgapi.h:2353
AMD_DBGAPI_CODE_OBJECT_INFO_LOAD_ADDRESS
@ AMD_DBGAPI_CODE_OBJECT_INFO_LOAD_ADDRESS
The difference between the address in the ELF shared object and the address the code object is loaded...
Definition amd-dbgapi.h:2359
amd_dbgapi_process_unfreeze
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_process_freeze
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_freeze(amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_76
Freeze the process identified by process_id.
amd_dbgapi_dispatch_info_t
amd_dbgapi_dispatch_info_t
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Definition amd-dbgapi.h:3107
amd_dbgapi_process_dispatch_list
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_dispatch_list(amd_dbgapi_process_id_t process_id, size_t *dispatch_count, amd_dbgapi_dispatch_id_t **dispatches, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of dispatches.
amd_dbgapi_dispatch_get_info
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_dispatch_barrier_t
amd_dbgapi_dispatch_barrier_t
Dispatch barrier.
Definition amd-dbgapi.h:3253
amd_dbgapi_dispatch_fence_scope_t
amd_dbgapi_dispatch_fence_scope_t
Dispatch memory fence scope.
Definition amd-dbgapi.h:3272
AMD_DBGAPI_DISPATCH_INFO_ACQUIRE_FENCE
@ AMD_DBGAPI_DISPATCH_INFO_ACQUIRE_FENCE
Return the dispatch acquire fence.
Definition amd-dbgapi.h:3143
AMD_DBGAPI_DISPATCH_INFO_KERNEL_ARGUMENT_SEGMENT_ADDRESS
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_ARGUMENT_SEGMENT_ADDRESS
Return the dispatch kernel argument segment address.
Definition amd-dbgapi.h:3178
AMD_DBGAPI_DISPATCH_INFO_QUEUE
@ AMD_DBGAPI_DISPATCH_INFO_QUEUE
Return the queue to which this dispatch belongs.
Definition amd-dbgapi.h:3112
AMD_DBGAPI_DISPATCH_INFO_GROUP_SEGMENT_SIZE
@ AMD_DBGAPI_DISPATCH_INFO_GROUP_SEGMENT_SIZE
Return the dispatch group segment size in bytes.
Definition amd-dbgapi.h:3173
AMD_DBGAPI_DISPATCH_INFO_AGENT
@ AMD_DBGAPI_DISPATCH_INFO_AGENT
Return the agent to which this dispatch belongs.
Definition amd-dbgapi.h:3117
AMD_DBGAPI_DISPATCH_INFO_GRID_DIMENSIONS
@ AMD_DBGAPI_DISPATCH_INFO_GRID_DIMENSIONS
Return the dispatch grid dimensionality.
Definition amd-dbgapi.h:3153
AMD_DBGAPI_DISPATCH_INFO_OS_QUEUE_PACKET_ID
@ AMD_DBGAPI_DISPATCH_INFO_OS_QUEUE_PACKET_ID
Return the queue packet ID of the dispatch packet that initiated the dispatch.
Definition amd-dbgapi.h:3133
AMD_DBGAPI_DISPATCH_INFO_PROCESS
@ AMD_DBGAPI_DISPATCH_INFO_PROCESS
Return the process to which this dispatch belongs.
Definition amd-dbgapi.h:3122
AMD_DBGAPI_DISPATCH_INFO_GRID_SIZES
@ AMD_DBGAPI_DISPATCH_INFO_GRID_SIZES
Return the dispatch grid size (work-items) in the X, Y, and Z dimensions.
Definition amd-dbgapi.h:3163
AMD_DBGAPI_DISPATCH_INFO_RELEASE_FENCE
@ AMD_DBGAPI_DISPATCH_INFO_RELEASE_FENCE
Return the dispatch release fence.
Definition amd-dbgapi.h:3148
AMD_DBGAPI_DISPATCH_INFO_BARRIER
@ AMD_DBGAPI_DISPATCH_INFO_BARRIER
Return the dispatch barrier setting.
Definition amd-dbgapi.h:3138
AMD_DBGAPI_DISPATCH_INFO_ARCHITECTURE
@ AMD_DBGAPI_DISPATCH_INFO_ARCHITECTURE
Return the architecture of this dispatch.
Definition amd-dbgapi.h:3127
AMD_DBGAPI_DISPATCH_INFO_KERNEL_DESCRIPTOR_ADDRESS
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_DESCRIPTOR_ADDRESS
Return the dispatch kernel descriptor address.
Definition amd-dbgapi.h:3183
AMD_DBGAPI_DISPATCH_INFO_PRIVATE_SEGMENT_SIZE
@ AMD_DBGAPI_DISPATCH_INFO_PRIVATE_SEGMENT_SIZE
Return the dispatch private segment size in bytes.
Definition amd-dbgapi.h:3168
AMD_DBGAPI_DISPATCH_INFO_WORKGROUP_SIZES
@ AMD_DBGAPI_DISPATCH_INFO_WORKGROUP_SIZES
Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions.
Definition amd-dbgapi.h:3158
AMD_DBGAPI_DISPATCH_INFO_KERNEL_COMPLETION_ADDRESS
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_COMPLETION_ADDRESS
Return the dispatch completion event address.
Definition amd-dbgapi.h:3198
AMD_DBGAPI_DISPATCH_INFO_KERNEL_CODE_ENTRY_ADDRESS
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_CODE_ENTRY_ADDRESS
Return the dispatch kernel code entry address.
Definition amd-dbgapi.h:3188
AMD_DBGAPI_DISPATCH_BARRIER_NONE
@ AMD_DBGAPI_DISPATCH_BARRIER_NONE
Dispatch has no barrier.
Definition amd-dbgapi.h:3257
AMD_DBGAPI_DISPATCH_BARRIER_PRESENT
@ AMD_DBGAPI_DISPATCH_BARRIER_PRESENT
Dispatch has a barrier.
Definition amd-dbgapi.h:3262
AMD_DBGAPI_DISPATCH_FENCE_SCOPE_NONE
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_NONE
There is no fence.
Definition amd-dbgapi.h:3276
AMD_DBGAPI_DISPATCH_FENCE_SCOPE_AGENT
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_AGENT
There is a fence with agent memory scope.
Definition amd-dbgapi.h:3280
AMD_DBGAPI_DISPATCH_FENCE_SCOPE_SYSTEM
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_SYSTEM
There is a fence with system memory scope.
Definition amd-dbgapi.h:3284
amd_dbgapi_displaced_stepping_info_t
amd_dbgapi_displaced_stepping_info_t
Displaced stepping queries that are supported by amd_dbgapi_displaced_stepping_id_t.
Definition amd-dbgapi.h:4369
amd_dbgapi_displaced_stepping_get_info
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_get_info(amd_dbgapi_displaced_stepping_id_t displaced_stepping_id, amd_dbgapi_displaced_stepping_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a displaced stepping buffer.
amd_dbgapi_displaced_stepping_complete
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_complete(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_displaced_stepping_id_t displaced_stepping) AMD_DBGAPI_VERSION_0_76
Complete a displaced stepping buffer for a wave.
amd_dbgapi_displaced_stepping_start
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_DISPLACED_STEPPING_INFO_PROCESS
@ AMD_DBGAPI_DISPLACED_STEPPING_INFO_PROCESS
Return the process to which this displaced stepping buffer belongs.
Definition amd-dbgapi.h:4374
amd_dbgapi_event_info_t
amd_dbgapi_event_info_t
Event queries that are supported by amd_dbgapi_event_get_info.
Definition amd-dbgapi.h:6994
amd_dbgapi_runtime_state_t
amd_dbgapi_runtime_state_t
Inferior's runtime state.
Definition amd-dbgapi.h:6969
amd_dbgapi_event_processed
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.
amd_dbgapi_event_get_info
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_event_get_info(amd_dbgapi_event_id_t event_id, amd_dbgapi_event_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about an event.
amd_dbgapi_event_kind_t
amd_dbgapi_event_kind_t
The event kinds.
Definition amd-dbgapi.h:6816
amd_dbgapi_process_next_pending_event
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_next_pending_event(amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id, amd_dbgapi_event_kind_t *kind) AMD_DBGAPI_VERSION_0_54
Obtain the next pending event.
AMD_DBGAPI_EVENT_INFO_CLIENT_THREAD
@ AMD_DBGAPI_EVENT_INFO_CLIENT_THREAD
Return the client thread of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition amd-dbgapi.h:7020
AMD_DBGAPI_EVENT_INFO_KIND
@ AMD_DBGAPI_EVENT_INFO_KIND
Return the event kind.
Definition amd-dbgapi.h:7004
AMD_DBGAPI_EVENT_INFO_RUNTIME_STATE
@ AMD_DBGAPI_EVENT_INFO_RUNTIME_STATE
Return if the runtime loaded in the inferior is supported by the library for a AMD_DBGAPI_EVENT_KIND_...
Definition amd-dbgapi.h:7027
AMD_DBGAPI_EVENT_INFO_BREAKPOINT
@ AMD_DBGAPI_EVENT_INFO_BREAKPOINT
Return the breakpoint of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition amd-dbgapi.h:7015
AMD_DBGAPI_EVENT_INFO_WAVE
@ AMD_DBGAPI_EVENT_INFO_WAVE
Return the wave of a AMD_DBGAPI_EVENT_KIND_WAVE_STOP or AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED...
Definition amd-dbgapi.h:7010
AMD_DBGAPI_EVENT_INFO_PROCESS
@ AMD_DBGAPI_EVENT_INFO_PROCESS
Return the process to which this event belongs.
Definition amd-dbgapi.h:6999
AMD_DBGAPI_EVENT_INFO_QUEUE
@ AMD_DBGAPI_EVENT_INFO_QUEUE
Return the queue of a AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR event.
Definition amd-dbgapi.h:7032
AMD_DBGAPI_RUNTIME_STATE_UNLOADED
@ AMD_DBGAPI_RUNTIME_STATE_UNLOADED
The inferior's runtime has been unloaded.
Definition amd-dbgapi.h:6978
AMD_DBGAPI_RUNTIME_STATE_LOADED_SUCCESS
@ AMD_DBGAPI_RUNTIME_STATE_LOADED_SUCCESS
The inferior's runtime has been loaded and debugging is supported by the library.
Definition amd-dbgapi.h:6974
AMD_DBGAPI_RUNTIME_STATE_LOADED_ERROR_RESTRICTION
@ AMD_DBGAPI_RUNTIME_STATE_LOADED_ERROR_RESTRICTION
The inferior's runtime has been loaded but there is a restriction error that prevents debugging the p...
Definition amd-dbgapi.h:6984
AMD_DBGAPI_EVENT_KIND_CODE_OBJECT_LIST_UPDATED
@ AMD_DBGAPI_EVENT_KIND_CODE_OBJECT_LIST_UPDATED
The list of code objects has changed.
Definition amd-dbgapi.h:6861
AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED
@ AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED
A command for a wave was not able to complete because the wave has terminated.
Definition amd-dbgapi.h:6839
AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR
@ AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR
The inferior's runtime has put a queue into the queue error state due to exceptions being reported fo...
Definition amd-dbgapi.h:6923
AMD_DBGAPI_EVENT_KIND_WAVE_STOP
@ AMD_DBGAPI_EVENT_KIND_WAVE_STOP
A wave has stopped.
Definition amd-dbgapi.h:6824
AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME
@ AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME
Request to resume a host breakpoint.
Definition amd-dbgapi.h:6874
AMD_DBGAPI_EVENT_KIND_RUNTIME
@ AMD_DBGAPI_EVENT_KIND_RUNTIME
The runtime support in the inferior is enabled or disabled.
Definition amd-dbgapi.h:6889
AMD_DBGAPI_EVENT_KIND_NONE
@ AMD_DBGAPI_EVENT_KIND_NONE
No event.
Definition amd-dbgapi.h:6820
amd_dbgapi_finalize
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize(void) AMD_DBGAPI_VERSION_0_54
Finalize the library.
amd_dbgapi_initialize
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_initialize(amd_dbgapi_callbacks_t *callbacks) AMD_DBGAPI_VERSION_0_76
Initialize the library.
amd_dbgapi_log_level_t
amd_dbgapi_log_level_t
The logging levels supported.
Definition amd-dbgapi.h:7128
amd_dbgapi_set_log_level
void AMD_DBGAPI amd_dbgapi_set_log_level(amd_dbgapi_log_level_t level) AMD_DBGAPI_VERSION_0_54
Set the logging level.
AMD_DBGAPI_LOG_LEVEL_NONE
@ AMD_DBGAPI_LOG_LEVEL_NONE
Print no messages.
Definition amd-dbgapi.h:7132
AMD_DBGAPI_LOG_LEVEL_VERBOSE
@ AMD_DBGAPI_LOG_LEVEL_VERBOSE
Print fatal error, warning, info, API tracing, and verbose messages.
Definition amd-dbgapi.h:7153
AMD_DBGAPI_LOG_LEVEL_INFO
@ AMD_DBGAPI_LOG_LEVEL_INFO
Print fatal error, warning, and info messages.
Definition amd-dbgapi.h:7145
AMD_DBGAPI_LOG_LEVEL_TRACE
@ AMD_DBGAPI_LOG_LEVEL_TRACE
Print fatal error, warning, info, and API tracing messages.
Definition amd-dbgapi.h:7149
AMD_DBGAPI_LOG_LEVEL_WARNING
@ AMD_DBGAPI_LOG_LEVEL_WARNING
Print fatal error and warning messages.
Definition amd-dbgapi.h:7141
AMD_DBGAPI_LOG_LEVEL_FATAL_ERROR
@ AMD_DBGAPI_LOG_LEVEL_FATAL_ERROR
Print fatal error messages.
Definition amd-dbgapi.h:7137
amd_dbgapi_address_class_info_t
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:5716
amd_dbgapi_architecture_address_class_list
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_lane_id_t
uint32_t amd_dbgapi_lane_id_t
A wave lane handle.
Definition amd-dbgapi.h:5677
amd_dbgapi_set_alu_exceptions_precision
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_alu_exceptions_precision(amd_dbgapi_process_id_t process_id, amd_dbgapi_alu_exceptions_precision_t alu_exceptions_precision) AMD_DBGAPI_VERSION_0_77
Control precision of ALU exceptions reporting.
amd_dbgapi_address_class_get_info
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_alu_exceptions_precision_t
amd_dbgapi_alu_exceptions_precision_t
ALU exceptions reporting precision.
Definition amd-dbgapi.h:6712
amd_dbgapi_segment_address_t
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:6106
amd_dbgapi_address_dependency
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_dependency(amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_segment_address_dependency_t *segment_address_dependency) AMD_DBGAPI_VERSION_0_64
Determine the dependency of a segment address value in a particular address space.
amd_dbgapi_address_space_get_info
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_architecture_address_space_list
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_address_space_list(amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count, amd_dbgapi_address_space_id_t **address_spaces) AMD_DBGAPI_VERSION_0_54
Report the list of address spaces supported by the architecture.
amd_dbgapi_address_is_in_address_class
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_is_in_address_class(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_address_class_id_t address_class_id, amd_dbgapi_address_class_state_t *address_class_state) AMD_DBGAPI_VERSION_0_54
Determine if a segment address in an address space is a member of a source language address class.
amd_dbgapi_segment_address_dependency_t
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:6237
amd_dbgapi_address_space_access_t
amd_dbgapi_address_space_access_t
Indication of how the address space is accessed.
Definition amd-dbgapi.h:5906
amd_dbgapi_dwarf_address_space_to_address_space
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dwarf_address_space_to_address_space(amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space, amd_dbgapi_address_space_id_t *address_space_id) AMD_DBGAPI_VERSION_0_54
Return the address space from an AMD GPU DWARF address space number for an architecture.
amd_dbgapi_dwarf_address_class_to_address_class
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...
amd_dbgapi_set_memory_precision
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_memory_precision(amd_dbgapi_process_id_t process_id, amd_dbgapi_memory_precision_t memory_precision) AMD_DBGAPI_VERSION_0_54
Control precision of memory access reporting.
amd_dbgapi_address_class_state_t
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:6313
amd_dbgapi_address_space_info_t
amd_dbgapi_address_space_info_t
Address space queries that are supported by amd_dbgapi_address_space_get_info.
Definition amd-dbgapi.h:5932
amd_dbgapi_read_memory
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_read_memory(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_54
Read memory.
amd_dbgapi_convert_address_space
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...
amd_dbgapi_memory_precision_t
amd_dbgapi_memory_precision_t
Memory access precision.
Definition amd-dbgapi.h:6638
amd_dbgapi_write_memory
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_write_memory(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_76
Write memory.
AMD_DBGAPI_ADDRESS_CLASS_INFO_NAME
@ AMD_DBGAPI_ADDRESS_CLASS_INFO_NAME
Return the source language address class name.
Definition amd-dbgapi.h:5723
AMD_DBGAPI_ADDRESS_CLASS_INFO_ADDRESS_SPACE
@ AMD_DBGAPI_ADDRESS_CLASS_INFO_ADDRESS_SPACE
Return the architecture specific address space that is used to implement a pointer or reference to th...
Definition amd-dbgapi.h:5732
AMD_DBGAPI_ADDRESS_CLASS_INFO_DWARF
@ AMD_DBGAPI_ADDRESS_CLASS_INFO_DWARF
Return the AMD GPU DWARF address class number for the address class' architecture.
Definition amd-dbgapi.h:5737
AMD_DBGAPI_ALU_EXCEPTIONS_PRECISION_NONE
@ AMD_DBGAPI_ALU_EXCEPTIONS_PRECISION_NONE
ALU exceptions delivery might be reported at any time after the instructions causing them have execut...
Definition amd-dbgapi.h:6717
AMD_DBGAPI_ALU_EXCEPTIONS_PRECISION_PRECISE
@ AMD_DBGAPI_ALU_EXCEPTIONS_PRECISION_PRECISE
When an ALU exception is delivered to the waves, the wave's PC is at the instruction following the on...
Definition amd-dbgapi.h:6723
AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_PROCESS
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_PROCESS
Reading or writing the segment address depends on the process.
Definition amd-dbgapi.h:6261
AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_WAVE
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_WAVE
Reading or writing the segment address depends on the wavefront.
Definition amd-dbgapi.h:6249
AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_WORKGROUP
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_WORKGROUP
Reading or writing the segment address depends on the workgroup.
Definition amd-dbgapi.h:6253
AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_NONE
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_NONE
No dependence is available.
Definition amd-dbgapi.h:6241
AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_LANE
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_LANE
Reading or writing the segment address depends on the lane.
Definition amd-dbgapi.h:6245
AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_AGENT
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_AGENT
Reading or writing the segment address depends on the agent.
Definition amd-dbgapi.h:6257
AMD_DBGAPI_ADDRESS_SPACE_ACCESS_DISPATCH_CONSTANT
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_DISPATCH_CONSTANT
The address space is only read the waves of a kernel dispatch.
Definition amd-dbgapi.h:5921
AMD_DBGAPI_ADDRESS_SPACE_ACCESS_PROGRAM_CONSTANT
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_PROGRAM_CONSTANT
The address space is read only.
Definition amd-dbgapi.h:5916
AMD_DBGAPI_ADDRESS_SPACE_ACCESS_ALL
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_ALL
The address space supports all accesses.
Definition amd-dbgapi.h:5911
AMD_DBGAPI_ADDRESS_CLASS_STATE_NOT_MEMBER
@ AMD_DBGAPI_ADDRESS_CLASS_STATE_NOT_MEMBER
The segment address in the address space is not a member of the source language address class.
Definition amd-dbgapi.h:6318
AMD_DBGAPI_ADDRESS_CLASS_STATE_MEMBER
@ AMD_DBGAPI_ADDRESS_CLASS_STATE_MEMBER
The segment address in the address space is a member of the source language address class.
Definition amd-dbgapi.h:6323
AMD_DBGAPI_ADDRESS_SPACE_INFO_ACCESS
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_ACCESS
Return the address space access.
Definition amd-dbgapi.h:5954
AMD_DBGAPI_ADDRESS_SPACE_INFO_DWARF
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_DWARF
Return the AMD GPU DWARF address space number for the address space's architecture.
Definition amd-dbgapi.h:5959
AMD_DBGAPI_ADDRESS_SPACE_INFO_ADDRESS_SIZE
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_ADDRESS_SIZE
Return the byte size of an address in the address space.
Definition amd-dbgapi.h:5944
AMD_DBGAPI_ADDRESS_SPACE_INFO_NULL_ADDRESS
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_NULL_ADDRESS
Return the NULL segment address value in the address space.
Definition amd-dbgapi.h:5949
AMD_DBGAPI_ADDRESS_SPACE_INFO_NAME
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_NAME
Return the address space name.
Definition amd-dbgapi.h:5939
AMD_DBGAPI_MEMORY_PRECISION_NONE
@ AMD_DBGAPI_MEMORY_PRECISION_NONE
Memory instructions execute normally and a wave does not wait for the memory access to complete.
Definition amd-dbgapi.h:6643
AMD_DBGAPI_MEMORY_PRECISION_PRECISE
@ AMD_DBGAPI_MEMORY_PRECISION_PRECISE
A wave waits for memory instructions to complete before executing further instructions.
Definition amd-dbgapi.h:6648
amd_dbgapi_process_get_info
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_get_info(amd_dbgapi_process_id_t process_id, amd_dbgapi_process_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_77
Query information about a process.
amd_dbgapi_process_set_progress
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_set_progress(amd_dbgapi_process_id_t process_id, amd_dbgapi_progress_t progress) AMD_DBGAPI_VERSION_0_76
Set the progress required for a process.
amd_dbgapi_process_set_wave_creation
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_endianness_t
amd_dbgapi_endianness_t
Byte endianness encoding.
Definition amd-dbgapi.h:1719
amd_dbgapi_wave_creation_t
amd_dbgapi_wave_creation_t
The kinds of wave creation supported by the hardware.
Definition amd-dbgapi.h:2106
amd_dbgapi_client_process_id_t
struct amd_dbgapi_client_process_s * amd_dbgapi_client_process_id_t
Opaque client process handle.
Definition amd-dbgapi.h:1692
amd_dbgapi_progress_t
amd_dbgapi_progress_t
The kinds of progress supported by the library.
Definition amd-dbgapi.h:2029
amd_dbgapi_process_info_t
amd_dbgapi_process_info_t
Process queries that are supported by amd_dbgapi_process_get_info.
Definition amd-dbgapi.h:1755
amd_dbgapi_process_attach
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_attach(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_process_id_t *process_id) AMD_DBGAPI_VERSION_0_56
Attach to a process in order to provide debug control of the AMD GPUs it uses.
amd_dbgapi_process_detach
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_detach(amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_54
Detach from a process and no longer have debug control of the AMD GPU devices it uses.
AMD_DBGAPI_ENDIAN_LITTLE
@ AMD_DBGAPI_ENDIAN_LITTLE
Encoding is done using little endian.
Definition amd-dbgapi.h:1724
AMD_DBGAPI_ENDIAN_BIG
@ AMD_DBGAPI_ENDIAN_BIG
Encoding is done using big endian.
Definition amd-dbgapi.h:1721
AMD_DBGAPI_WAVE_CREATION_NORMAL
@ AMD_DBGAPI_WAVE_CREATION_NORMAL
Normal wave creation allows new waves to be created.
Definition amd-dbgapi.h:2110
AMD_DBGAPI_WAVE_CREATION_STOP
@ AMD_DBGAPI_WAVE_CREATION_STOP
Stop wave creation prevents new waves from being created.
Definition amd-dbgapi.h:2114
AMD_DBGAPI_PROGRESS_NO_FORWARD
@ AMD_DBGAPI_PROGRESS_NO_FORWARD
No forward progress is needed.
Definition amd-dbgapi.h:2059
AMD_DBGAPI_PROGRESS_NORMAL
@ AMD_DBGAPI_PROGRESS_NORMAL
Normal progress is needed.
Definition amd-dbgapi.h:2035
AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_COUNT
@ AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_COUNT
Return the number of data watchpoints supported by the process.
Definition amd-dbgapi.h:1766
AMD_DBGAPI_PROCESS_INFO_CORE_STATE
@ AMD_DBGAPI_PROCESS_INFO_CORE_STATE
Return a blob containing the content to put in the state note when generating a core dump.
Definition amd-dbgapi.h:1809
AMD_DBGAPI_PROCESS_INFO_PRECISE_MEMORY_SUPPORTED
@ AMD_DBGAPI_PROCESS_INFO_PRECISE_MEMORY_SUPPORTED
Return if the architectures of all the agents of a process support controlling memory precision.
Definition amd-dbgapi.h:1778
AMD_DBGAPI_PROCESS_INFO_NOTIFIER
@ AMD_DBGAPI_PROCESS_INFO_NOTIFIER
The notifier for the process that indicates if pending events are available.
Definition amd-dbgapi.h:1760
AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_SHARE
@ AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_SHARE
Return how watchpoints are shared between processes.
Definition amd-dbgapi.h:1772
AMD_DBGAPI_PROCESS_INFO_OS_ID
@ AMD_DBGAPI_PROCESS_INFO_OS_ID
Native operating system process ID.
Definition amd-dbgapi.h:1799
AMD_DBGAPI_PROCESS_INFO_PRECISE_ALU_EXCEPTIONS_SUPPORTED
@ AMD_DBGAPI_PROCESS_INFO_PRECISE_ALU_EXCEPTIONS_SUPPORTED
Return if the architectures of all the agents of a process support controlling ALU exceptions reporti...
Definition amd-dbgapi.h:1785
amd_dbgapi_queue_state_t
amd_dbgapi_queue_state_t
Queue state.
Definition amd-dbgapi.h:2823
amd_dbgapi_process_queue_list
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_queue_list(amd_dbgapi_process_id_t process_id, size_t *queue_count, amd_dbgapi_queue_id_t **queues, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of queues.
amd_dbgapi_queue_get_info
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_queue_packet_list
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_queue_packet_list(amd_dbgapi_queue_id_t queue_id, amd_dbgapi_os_queue_packet_id_t *read_packet_id, amd_dbgapi_os_queue_packet_id_t *write_packet_id, size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_54
Return the packets for a queue.
amd_dbgapi_exceptions_t
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:2849
amd_dbgapi_queue_info_t
amd_dbgapi_queue_info_t
Queue queries that are supported by amd_dbgapi_queue_get_info.
Definition amd-dbgapi.h:2727
AMD_DBGAPI_QUEUE_STATE_VALID
@ AMD_DBGAPI_QUEUE_STATE_VALID
Queue is in a valid state.
Definition amd-dbgapi.h:2827
AMD_DBGAPI_QUEUE_STATE_ERROR
@ AMD_DBGAPI_QUEUE_STATE_ERROR
Queue is in the queue error state.
Definition amd-dbgapi.h:2841
AMD_DBGAPI_EXCEPTION_WAVE_ILLEGAL_INSTRUCTION
@ AMD_DBGAPI_EXCEPTION_WAVE_ILLEGAL_INSTRUCTION
A wave on the queue executed an illegal instruction.
Definition amd-dbgapi.h:2887
AMD_DBGAPI_EXCEPTION_PACKET_UNSUPPORTED
@ AMD_DBGAPI_EXCEPTION_PACKET_UNSUPPORTED
A packet on the queue has an unsupported code.
Definition amd-dbgapi.h:2921
AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID
@ AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID
A dispatch packet on the queue has an invalid group segment size.
Definition amd-dbgapi.h:2913
AMD_DBGAPI_EXCEPTION_WAVE_TRAP
@ AMD_DBGAPI_EXCEPTION_WAVE_TRAP
A wave on the queue executed an instruction that caused an exception.
Definition amd-dbgapi.h:2867
AMD_DBGAPI_EXCEPTION_WAVE_ABORT
@ AMD_DBGAPI_EXCEPTION_WAVE_ABORT
A wave on the queue executed a trap instruction used to abort a dispatch.
Definition amd-dbgapi.h:2857
AMD_DBGAPI_EXCEPTION_QUEUE_PREEMPTION_ERROR
@ AMD_DBGAPI_EXCEPTION_QUEUE_PREEMPTION_ERROR
There was an error preempting the queue.
Definition amd-dbgapi.h:2942
AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_WORKGROUP_SIZE_INVALID
@ AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_WORKGROUP_SIZE_INVALID
A dispatch packet on the queue has an invalid workgroup size.
Definition amd-dbgapi.h:2925
AMD_DBGAPI_EXCEPTION_WAVE_MATH_ERROR
@ AMD_DBGAPI_EXCEPTION_WAVE_MATH_ERROR
A wave on the queue executed an instruction that had a floating point or integer enabled exception co...
Definition amd-dbgapi.h:2883
AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_REGISTER_COUNT_TOO_LARGE
@ AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_REGISTER_COUNT_TOO_LARGE
A dispatch packet on the queue requires too many registers.
Definition amd-dbgapi.h:2929
AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_CODE_INVALID
@ AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_CODE_INVALID
A dispatch packet on the queue has a NULL code address.
Definition amd-dbgapi.h:2917
AMD_DBGAPI_EXCEPTION_WAVE_MEMORY_VIOLATION
@ AMD_DBGAPI_EXCEPTION_WAVE_MEMORY_VIOLATION
A wave on the queue had a memory violation.
Definition amd-dbgapi.h:2893
AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_DIM_INVALID
@ AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_DIM_INVALID
A dispatch packet on the queue has an invalid dimension.
Definition amd-dbgapi.h:2909
AMD_DBGAPI_EXCEPTION_WAVE_ADDRESS_ERROR
@ AMD_DBGAPI_EXCEPTION_WAVE_ADDRESS_ERROR
A wave on the queue had an exception due to accessing an invalid memory address.
Definition amd-dbgapi.h:2900
AMD_DBGAPI_EXCEPTION_NONE
@ AMD_DBGAPI_EXCEPTION_NONE
If none of the bits are set, then the queue is not in the error state.
Definition amd-dbgapi.h:2853
AMD_DBGAPI_EXCEPTION_PACKET_VENDOR_UNSUPPORTED
@ AMD_DBGAPI_EXCEPTION_PACKET_VENDOR_UNSUPPORTED
A packet on the queue has an invalid vendor code.
Definition amd-dbgapi.h:2933
AMD_DBGAPI_QUEUE_INFO_ARCHITECTURE
@ AMD_DBGAPI_QUEUE_INFO_ARCHITECTURE
Return the architecture of this queue.
Definition amd-dbgapi.h:2742
AMD_DBGAPI_QUEUE_INFO_PROCESS
@ AMD_DBGAPI_QUEUE_INFO_PROCESS
Return the process to which this queue belongs.
Definition amd-dbgapi.h:2737
AMD_DBGAPI_QUEUE_INFO_TYPE
@ AMD_DBGAPI_QUEUE_INFO_TYPE
Return the queue type.
Definition amd-dbgapi.h:2747
AMD_DBGAPI_QUEUE_INFO_ADDRESS
@ AMD_DBGAPI_QUEUE_INFO_ADDRESS
Return the base address of the memory holding the queue packets.
Definition amd-dbgapi.h:2764
AMD_DBGAPI_QUEUE_INFO_STATE
@ AMD_DBGAPI_QUEUE_INFO_STATE
Return the queue state.
Definition amd-dbgapi.h:2752
AMD_DBGAPI_QUEUE_INFO_AGENT
@ AMD_DBGAPI_QUEUE_INFO_AGENT
Return the agent to which this queue belongs.
Definition amd-dbgapi.h:2732
AMD_DBGAPI_QUEUE_INFO_SIZE
@ AMD_DBGAPI_QUEUE_INFO_SIZE
Return the size in bytes of the memory holding the queue packets.
Definition amd-dbgapi.h:2769
AMD_DBGAPI_QUEUE_INFO_ERROR_REASON
@ AMD_DBGAPI_QUEUE_INFO_ERROR_REASON
Return the set of exceptions that caused the queue to enter the queue error state.
Definition amd-dbgapi.h:2759
AMD_DBGAPI_QUEUE_INFO_OS_ID
@ AMD_DBGAPI_QUEUE_INFO_OS_ID
Native operating system queue ID.
Definition amd-dbgapi.h:2774
amd_dbgapi_architecture_register_list
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_register_is_in_register_class
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_wave_register_exists
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_register_exists(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_register_exists_t *exists) AMD_DBGAPI_VERSION_0_54
Query if a register exists for a wave.
amd_dbgapi_register_properties_t
amd_dbgapi_register_properties_t
A bit mask on register properties.
Definition amd-dbgapi.h:5017
amd_dbgapi_read_register
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_read_register(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size, void *value) AMD_DBGAPI_VERSION_0_62
Read a register.
amd_dbgapi_write_register
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_write_register(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size, const void *value) AMD_DBGAPI_VERSION_0_76
Write a register.
amd_dbgapi_architecture_register_class_list
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_class_list(amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count, amd_dbgapi_register_class_id_t **register_classes) AMD_DBGAPI_VERSION_0_54
Report the list of register classes supported by the architecture.
amd_dbgapi_register_info_t
amd_dbgapi_register_info_t
Register queries that are supported by amd_dbgapi_register_get_info.
Definition amd-dbgapi.h:5051
amd_dbgapi_architecture_register_class_get_info
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_class_get_info(amd_dbgapi_register_class_id_t register_class_id, amd_dbgapi_register_class_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a register class of an architecture.
amd_dbgapi_register_class_info_t
amd_dbgapi_register_class_info_t
Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info.
Definition amd-dbgapi.h:4888
amd_dbgapi_wave_register_list
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_register_list(amd_dbgapi_wave_id_t wave_id, size_t *register_count, amd_dbgapi_register_id_t **registers) AMD_DBGAPI_VERSION_0_54
Report the list of registers supported by a wave.
amd_dbgapi_register_get_info
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_register_get_info(amd_dbgapi_register_id_t register_id, amd_dbgapi_register_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_70
Query information about a register.
amd_dbgapi_register_exists_t
amd_dbgapi_register_exists_t
Indication of if a wave has a register.
Definition amd-dbgapi.h:5197
amd_dbgapi_prefetch_register
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_prefetch_register(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_62
Prefetch register values.
amd_dbgapi_dwarf_register_to_register
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dwarf_register_to_register(amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register, amd_dbgapi_register_id_t *register_id) AMD_DBGAPI_VERSION_0_54
Return a register handle from an AMD GPU DWARF register number for an architecture.
amd_dbgapi_register_class_state_t
amd_dbgapi_register_class_state_t
Indication of whether a register is a member of a register class.
Definition amd-dbgapi.h:5384
AMD_DBGAPI_REGISTER_PROPERTY_INVALIDATE_VOLATILE
@ AMD_DBGAPI_REGISTER_PROPERTY_INVALIDATE_VOLATILE
Changing the value of the register may change a register of the same wavefront with the AMD_DBGAPI_RE...
Definition amd-dbgapi.h:5041
AMD_DBGAPI_REGISTER_PROPERTY_NONE
@ AMD_DBGAPI_REGISTER_PROPERTY_NONE
There are no properties.
Definition amd-dbgapi.h:5021
AMD_DBGAPI_REGISTER_PROPERTY_READONLY_BITS
@ AMD_DBGAPI_REGISTER_PROPERTY_READONLY_BITS
At least one bit of the register value is readonly.
Definition amd-dbgapi.h:5027
AMD_DBGAPI_REGISTER_PROPERTY_VOLATILE
@ AMD_DBGAPI_REGISTER_PROPERTY_VOLATILE
The register value may change as a consequence of changing a register of the same wavefront with the ...
Definition amd-dbgapi.h:5034
AMD_DBGAPI_REGISTER_INFO_ARCHITECTURE
@ AMD_DBGAPI_REGISTER_INFO_ARCHITECTURE
Return the architecture to which this register belongs.
Definition amd-dbgapi.h:5056
AMD_DBGAPI_REGISTER_INFO_NAME
@ AMD_DBGAPI_REGISTER_INFO_NAME
Return the register name.
Definition amd-dbgapi.h:5063
AMD_DBGAPI_REGISTER_INFO_SIZE
@ AMD_DBGAPI_REGISTER_INFO_SIZE
Return the size of the register in bytes.
Definition amd-dbgapi.h:5068
AMD_DBGAPI_REGISTER_INFO_PROPERTIES
@ AMD_DBGAPI_REGISTER_INFO_PROPERTIES
Return the register's properties.
Definition amd-dbgapi.h:5143
AMD_DBGAPI_REGISTER_INFO_DWARF
@ AMD_DBGAPI_REGISTER_INFO_DWARF
Return the AMD GPU DWARF register number for the register's architecture.
Definition amd-dbgapi.h:5138
AMD_DBGAPI_REGISTER_INFO_TYPE
@ AMD_DBGAPI_REGISTER_INFO_TYPE
Return the register type as a C style type string.
Definition amd-dbgapi.h:5129
AMD_DBGAPI_REGISTER_CLASS_INFO_ARCHITECTURE
@ AMD_DBGAPI_REGISTER_CLASS_INFO_ARCHITECTURE
Return the architecture to which this register class belongs.
Definition amd-dbgapi.h:4893
AMD_DBGAPI_REGISTER_CLASS_INFO_NAME
@ AMD_DBGAPI_REGISTER_CLASS_INFO_NAME
Return the register class name.
Definition amd-dbgapi.h:4900
AMD_DBGAPI_REGISTER_ABSENT
@ AMD_DBGAPI_REGISTER_ABSENT
The wave does not have the register.
Definition amd-dbgapi.h:5201
AMD_DBGAPI_REGISTER_PRESENT
@ AMD_DBGAPI_REGISTER_PRESENT
The wave has the register.
Definition amd-dbgapi.h:5205
AMD_DBGAPI_REGISTER_CLASS_STATE_NOT_MEMBER
@ AMD_DBGAPI_REGISTER_CLASS_STATE_NOT_MEMBER
The register is not a member of the register class.
Definition amd-dbgapi.h:5388
AMD_DBGAPI_REGISTER_CLASS_STATE_MEMBER
@ AMD_DBGAPI_REGISTER_CLASS_STATE_MEMBER
The register is a member of the register class.
Definition amd-dbgapi.h:5392
amd_dbgapi_get_status_string
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.
amd_dbgapi_status_t
amd_dbgapi_status_t
AMD debugger API status codes.
Definition amd-dbgapi.h:788
AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_CLASS_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_CLASS_ID
The register class handle is invalid.
Definition amd-dbgapi.h:959
AMD_DBGAPI_STATUS_ERROR_INVALID_LANE_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_LANE_ID
The lane handle is invalid.
Definition amd-dbgapi.h:967
AMD_DBGAPI_STATUS_ERROR_INVALID_BREAKPOINT_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_BREAKPOINT_ID
The breakpoint handle is invalid.
Definition amd-dbgapi.h:991
AMD_DBGAPI_STATUS_ERROR_INVALID_CODE_OBJECT_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_CODE_OBJECT_ID
The code object handle is invalid.
Definition amd-dbgapi.h:884
AMD_DBGAPI_STATUS_ERROR_PROCESS_ALREADY_FROZEN
@ AMD_DBGAPI_STATUS_ERROR_PROCESS_ALREADY_FROZEN
The process is already frozen.
Definition amd-dbgapi.h:1024
AMD_DBGAPI_STATUS_ERROR_INVALID_WORKGROUP_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_WORKGROUP_ID
The workgroup handle is invalid.
Definition amd-dbgapi.h:1012
AMD_DBGAPI_STATUS_ERROR_NO_WATCHPOINT_AVAILABLE
@ AMD_DBGAPI_STATUS_ERROR_NO_WATCHPOINT_AVAILABLE
No more watchpoints available.
Definition amd-dbgapi.h:955
AMD_DBGAPI_STATUS_ERROR_PROCESS_FROZEN
@ AMD_DBGAPI_STATUS_ERROR_PROCESS_FROZEN
This operation is not allowed when the process is frozen.
Definition amd-dbgapi.h:1020
AMD_DBGAPI_STATUS_ERROR_INVALID_WAVE_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_WAVE_ID
The wave handle is invalid.
Definition amd-dbgapi.h:913
AMD_DBGAPI_STATUS_ERROR_MEMORY_ACCESS
@ AMD_DBGAPI_STATUS_ERROR_MEMORY_ACCESS
An error occurred while trying to access memory in the inferior.
Definition amd-dbgapi.h:979
AMD_DBGAPI_STATUS_ERROR_ILLEGAL_INSTRUCTION
@ AMD_DBGAPI_STATUS_ERROR_ILLEGAL_INSTRUCTION
The bytes being disassembled are not a legal instruction.
Definition amd-dbgapi.h:880
AMD_DBGAPI_STATUS_ERROR_PROCESS_NOT_FROZEN
@ AMD_DBGAPI_STATUS_ERROR_PROCESS_NOT_FROZEN
This operation is not allowed when the process is not frozen.
Definition amd-dbgapi.h:1028
AMD_DBGAPI_STATUS_SUCCESS
@ AMD_DBGAPI_STATUS_SUCCESS
The function has executed successfully.
Definition amd-dbgapi.h:792
AMD_DBGAPI_STATUS_ERROR_NOT_SUPPORTED
@ AMD_DBGAPI_STATUS_ERROR_NOT_SUPPORTED
The operation is not supported.
Definition amd-dbgapi.h:832
AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_ACTIVE
@ AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_ACTIVE
The wave has an active displaced stepping buffer.
Definition amd-dbgapi.h:942
AMD_DBGAPI_STATUS_ERROR_ALREADY_INITIALIZED
@ AMD_DBGAPI_STATUS_ERROR_ALREADY_INITIALIZED
The library is already initialized.
Definition amd-dbgapi.h:844
AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_BUFFER_NOT_AVAILABLE
@ AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_BUFFER_NOT_AVAILABLE
No more displaced stepping buffers are available that are suitable for the requested wave.
Definition amd-dbgapi.h:938
AMD_DBGAPI_STATUS_ERROR_WAVE_OUTSTANDING_STOP
@ AMD_DBGAPI_STATUS_ERROR_WAVE_OUTSTANDING_STOP
The wave has an outstanding stop request.
Definition amd-dbgapi.h:925
AMD_DBGAPI_STATUS_ERROR_INVALID_AGENT_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_AGENT_ID
The agent handle is invalid.
Definition amd-dbgapi.h:901
AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED
@ AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED
The library is not initialized.
Definition amd-dbgapi.h:848
AMD_DBGAPI_STATUS_ERROR_SYMBOL_NOT_FOUND
@ AMD_DBGAPI_STATUS_ERROR_SYMBOL_NOT_FOUND
The symbol was not found.
Definition amd-dbgapi.h:1003
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT_COMPATIBILITY
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT_COMPATIBILITY
An invalid combination of arguments was given to the function.
Definition amd-dbgapi.h:840
AMD_DBGAPI_STATUS_ERROR_INVALID_WATCHPOINT_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_WATCHPOINT_ID
The watchpoint handle is invalid.
Definition amd-dbgapi.h:951
AMD_DBGAPI_STATUS_ERROR_RESUME_DISPLACED_STEPPING
@ AMD_DBGAPI_STATUS_ERROR_RESUME_DISPLACED_STEPPING
The wave cannot be resumed in the manner requested due to displaced stepping restrictions.
Definition amd-dbgapi.h:947
AMD_DBGAPI_STATUS_ERROR_INCOMPATIBLE_PROCESS_STATE
@ AMD_DBGAPI_STATUS_ERROR_INCOMPATIBLE_PROCESS_STATE
The current process state is not compatible with the requested operation.
Definition amd-dbgapi.h:1016
AMD_DBGAPI_STATUS_ERROR_PROCESS_EXITED
@ AMD_DBGAPI_STATUS_ERROR_PROCESS_EXITED
The native operating system process associated with a client process has exited.
Definition amd-dbgapi.h:897
AMD_DBGAPI_STATUS_ERROR_INVALID_CLIENT_PROCESS_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_CLIENT_PROCESS_ID
The client process handle is invalid.
Definition amd-dbgapi.h:999
AMD_DBGAPI_STATUS_ERROR_INVALID_ARCHITECTURE_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARCHITECTURE_ID
The architecture handle is invalid.
Definition amd-dbgapi.h:876
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT
An invalid argument was given to the function.
Definition amd-dbgapi.h:836
AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_CLASS_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_CLASS_ID
The address class handle is invalid.
Definition amd-dbgapi.h:971
AMD_DBGAPI_STATUS_ERROR_INVALID_EVENT_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_EVENT_ID
The event handle is invalid.
Definition amd-dbgapi.h:987
AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_STOPPED
@ AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_STOPPED
The wave is not stopped.
Definition amd-dbgapi.h:917
AMD_DBGAPI_STATUS_ERROR_WAVE_STOPPED
@ AMD_DBGAPI_STATUS_ERROR_WAVE_STOPPED
The wave is stopped.
Definition amd-dbgapi.h:921
AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_ID
The address space handle is invalid.
Definition amd-dbgapi.h:975
AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID
The process handle is invalid.
Definition amd-dbgapi.h:892
AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_RESUMABLE
@ AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_RESUMABLE
The wave cannot be resumed.
Definition amd-dbgapi.h:929
AMD_DBGAPI_STATUS_ERROR_NOT_IMPLEMENTED
@ AMD_DBGAPI_STATUS_ERROR_NOT_IMPLEMENTED
The operation is not currently implemented.
Definition amd-dbgapi.h:824
AMD_DBGAPI_STATUS_ERROR_RESTRICTION
@ AMD_DBGAPI_STATUS_ERROR_RESTRICTION
There is a restriction error that prevents the operation to complete.
Definition amd-dbgapi.h:868
AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_CONVERSION
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_CONVERSION
The segment address cannot be converted to the requested address space.
Definition amd-dbgapi.h:983
AMD_DBGAPI_STATUS_ERROR_INVALID_ELF_AMDGPU_MACHINE
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ELF_AMDGPU_MACHINE
The ELF AMD GPU machine value is invalid or unsupported.
Definition amd-dbgapi.h:888
AMD_DBGAPI_STATUS_FATAL
@ AMD_DBGAPI_STATUS_FATAL
A fatal error has occurred.
Definition amd-dbgapi.h:818
AMD_DBGAPI_STATUS_ERROR_INVALID_DISPLACED_STEPPING_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_DISPLACED_STEPPING_ID
The displaced stepping handle is invalid.
Definition amd-dbgapi.h:933
AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK
@ AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK
A callback to the client reported an error.
Definition amd-dbgapi.h:995
AMD_DBGAPI_STATUS_ERROR_NOT_AVAILABLE
@ AMD_DBGAPI_STATUS_ERROR_NOT_AVAILABLE
The requested information is not available.
Definition amd-dbgapi.h:828
AMD_DBGAPI_STATUS_ERROR_ALREADY_ATTACHED
@ AMD_DBGAPI_STATUS_ERROR_ALREADY_ATTACHED
The process is already attached to the given inferior process.
Definition amd-dbgapi.h:872
AMD_DBGAPI_STATUS_ERROR_INVALID_QUEUE_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_QUEUE_ID
The queue handle is invalid.
Definition amd-dbgapi.h:905
AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_ID
The register handle is invalid.
Definition amd-dbgapi.h:963
AMD_DBGAPI_STATUS_ERROR_INVALID_DISPATCH_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_DISPATCH_ID
The dispatch handle is invalid.
Definition amd-dbgapi.h:909
AMD_DBGAPI_STATUS_ERROR_REGISTER_NOT_AVAILABLE
@ AMD_DBGAPI_STATUS_ERROR_REGISTER_NOT_AVAILABLE
The register handle is valid, but specifies a register that is not allocated in the associated wave.
Definition amd-dbgapi.h:1008
AMD_DBGAPI_STATUS_ERROR
@ AMD_DBGAPI_STATUS_ERROR
A generic error has occurred.
Definition amd-dbgapi.h:796
AMD_DBGAPI_VERSION_0_58
#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:574
AMD_DBGAPI_VERSION_0_56
#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:568
AMD_DBGAPI_VERSION_0_67
#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:592
AMD_DBGAPI_VERSION_0_62
#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:580
AMD_DBGAPI_VERSION_0_54
#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:562
AMD_DBGAPI_VERSION_0_76
#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:610
AMD_DBGAPI_VERSION_0_64
#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:586
AMD_DBGAPI_VERSION_0_77
#define AMD_DBGAPI_VERSION_0_77
The function was introduced in version 0.77 of the interface and has the symbol version string of "AM...
Definition amd-dbgapi.h:616
AMD_DBGAPI_VERSION_0_70
#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:604
AMD_DBGAPI_VERSION_0_68
#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:598
amd_dbgapi_get_version
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_get_build_name
const char AMD_DBGAPI * amd_dbgapi_get_build_name(void) AMD_DBGAPI_VERSION_0_54
Query the installed library build name.
amd_dbgapi_watchpoint_info_t
amd_dbgapi_watchpoint_info_t
Watchpoint queries that are supported by amd_dbgapi_watchpoint_get_info.
Definition amd-dbgapi.h:4620
amd_dbgapi_remove_watchpoint
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_remove_watchpoint(amd_dbgapi_watchpoint_id_t watchpoint_id) AMD_DBGAPI_VERSION_0_76
Remove a hardware data watchpoint previously set by amd_dbgapi_set_watchpoint.
amd_dbgapi_watchpoint_kind_t
amd_dbgapi_watchpoint_kind_t
Watchpoint memory access kinds.
Definition amd-dbgapi.h:4714
amd_dbgapi_set_watchpoint
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_watchpoint(amd_dbgapi_process_id_t process_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t size, amd_dbgapi_watchpoint_kind_t kind, amd_dbgapi_watchpoint_id_t *watchpoint_id) AMD_DBGAPI_VERSION_0_76
Set a hardware data watchpoint.
amd_dbgapi_watchpoint_get_info
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_watchpoint_get_info(amd_dbgapi_watchpoint_id_t watchpoint_id, amd_dbgapi_watchpoint_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a watchpoint.
amd_dbgapi_watchpoint_share_kind_t
amd_dbgapi_watchpoint_share_kind_t
The way watchpoints are shared between processes.
Definition amd-dbgapi.h:4688
AMD_DBGAPI_WATCHPOINT_INFO_PROCESS
@ AMD_DBGAPI_WATCHPOINT_INFO_PROCESS
Return the process to which this watchpoint belongs.
Definition amd-dbgapi.h:4625
AMD_DBGAPI_WATCHPOINT_INFO_SIZE
@ AMD_DBGAPI_WATCHPOINT_INFO_SIZE
The byte size of the created watchpoint.
Definition amd-dbgapi.h:4635
AMD_DBGAPI_WATCHPOINT_INFO_ADDRESS
@ AMD_DBGAPI_WATCHPOINT_INFO_ADDRESS
The base address of the created watchpoint.
Definition amd-dbgapi.h:4630
AMD_DBGAPI_WATCHPOINT_KIND_STORE_AND_RMW
@ AMD_DBGAPI_WATCHPOINT_KIND_STORE_AND_RMW
Write access by store instructions or read-modify-write access by atomic instructions.
Definition amd-dbgapi.h:4723
AMD_DBGAPI_WATCHPOINT_KIND_ALL
@ AMD_DBGAPI_WATCHPOINT_KIND_ALL
Read, write, or read-modify-write access by load, store, or atomic instructions.
Definition amd-dbgapi.h:4732
AMD_DBGAPI_WATCHPOINT_KIND_LOAD
@ AMD_DBGAPI_WATCHPOINT_KIND_LOAD
Read access by load instructions.
Definition amd-dbgapi.h:4718
AMD_DBGAPI_WATCHPOINT_KIND_RMW
@ AMD_DBGAPI_WATCHPOINT_KIND_RMW
Read-modify-write access by atomic instructions.
Definition amd-dbgapi.h:4727
AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSHARED
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSHARED
The watchpoints are not shared across processes.
Definition amd-dbgapi.h:4698
AMD_DBGAPI_WATCHPOINT_SHARE_KIND_SHARED
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_SHARED
The watchpoints of a process are shared between all processes.
Definition amd-dbgapi.h:4704
AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSUPPORTED
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSUPPORTED
Watchpoints are not supported.
Definition amd-dbgapi.h:4692
amd_dbgapi_wave_resume
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_resume(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode, amd_dbgapi_exceptions_t exceptions) AMD_DBGAPI_VERSION_0_76
Resume execution of a stopped wave.
amd_dbgapi_wave_state_t
amd_dbgapi_wave_state_t
The execution state of a wave.
Definition amd-dbgapi.h:3716
amd_dbgapi_wave_stop
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_stop(amd_dbgapi_wave_id_t wave_id) AMD_DBGAPI_VERSION_0_76
Request a wave to stop executing.
amd_dbgapi_process_wave_list
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_wave_list(amd_dbgapi_process_id_t process_id, size_t *wave_count, amd_dbgapi_wave_id_t **waves, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of existing waves.
amd_dbgapi_resume_mode_t
amd_dbgapi_resume_mode_t
The mode in which to resuming the execution of a wave.
Definition amd-dbgapi.h:4080
amd_dbgapi_wave_stop_reasons_t
amd_dbgapi_wave_stop_reasons_t
A bit mask of the reasons that a wave stopped.
Definition amd-dbgapi.h:3748
amd_dbgapi_wave_info_t
amd_dbgapi_wave_info_t
Wave queries that are supported by amd_dbgapi_wave_get_info.
Definition amd-dbgapi.h:3552
amd_dbgapi_wave_get_info
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_get_info(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_wave_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64
Query information about a wave.
AMD_DBGAPI_WAVE_STATE_STOP
@ AMD_DBGAPI_WAVE_STATE_STOP
The wave is stopped.
Definition amd-dbgapi.h:3738
AMD_DBGAPI_WAVE_STATE_SINGLE_STEP
@ AMD_DBGAPI_WAVE_STATE_SINGLE_STEP
The wave is running in single-step mode.
Definition amd-dbgapi.h:3725
AMD_DBGAPI_WAVE_STATE_RUN
@ AMD_DBGAPI_WAVE_STATE_RUN
The wave is running.
Definition amd-dbgapi.h:3720
AMD_DBGAPI_RESUME_MODE_SINGLE_STEP
@ AMD_DBGAPI_RESUME_MODE_SINGLE_STEP
Resume execution in in single step mode.
Definition amd-dbgapi.h:4088
AMD_DBGAPI_RESUME_MODE_NORMAL
@ AMD_DBGAPI_RESUME_MODE_NORMAL
Resume normal execution.
Definition amd-dbgapi.h:4084
AMD_DBGAPI_WAVE_STOP_REASON_FP_DIVIDE_BY_0
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_DIVIDE_BY_0
The wave stopped due to triggering an enabled floating point divide by zero exception.
Definition amd-dbgapi.h:3791
AMD_DBGAPI_WAVE_STOP_REASON_WATCHPOINT
@ AMD_DBGAPI_WAVE_STOP_REASON_WATCHPOINT
The wave stopped due to triggering a data watchpoint.
Definition amd-dbgapi.h:3771
AMD_DBGAPI_WAVE_STOP_REASON_MEMORY_VIOLATION
@ AMD_DBGAPI_WAVE_STOP_REASON_MEMORY_VIOLATION
The wave stopped due to a memory violation.
Definition amd-dbgapi.h:3888
AMD_DBGAPI_WAVE_STOP_REASON_SINGLE_STEP
@ AMD_DBGAPI_WAVE_STOP_REASON_SINGLE_STEP
The wave stopped due to completing an instruction single-step.
Definition amd-dbgapi.h:3775
AMD_DBGAPI_WAVE_STOP_REASON_ILLEGAL_INSTRUCTION
@ AMD_DBGAPI_WAVE_STOP_REASON_ILLEGAL_INSTRUCTION
The wave stopped due to executing an illegal instruction.
Definition amd-dbgapi.h:3917
AMD_DBGAPI_WAVE_STOP_REASON_DEBUG_TRAP
@ AMD_DBGAPI_WAVE_STOP_REASON_DEBUG_TRAP
The wave stopped due to executing a debug trap instruction.
Definition amd-dbgapi.h:3846
AMD_DBGAPI_WAVE_STOP_REASON_FP_INPUT_DENORMAL
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_INPUT_DENORMAL
The wave stopped due to triggering an enabled floating point input denormal exception.
Definition amd-dbgapi.h:3783
AMD_DBGAPI_WAVE_STOP_REASON_ECC_ERROR
@ AMD_DBGAPI_WAVE_STOP_REASON_ECC_ERROR
The wave stopped due to detecting an unrecoverable ECC error.
Definition amd-dbgapi.h:3930
AMD_DBGAPI_WAVE_STOP_REASON_FATAL_HALT
@ AMD_DBGAPI_WAVE_STOP_REASON_FATAL_HALT
The wave stopped after causing a hardware fatal halt.
Definition amd-dbgapi.h:3937
AMD_DBGAPI_WAVE_STOP_REASON_ASSERT_TRAP
@ AMD_DBGAPI_WAVE_STOP_REASON_ASSERT_TRAP
The wave stopped due to executing an assert trap instruction.
Definition amd-dbgapi.h:3862
AMD_DBGAPI_WAVE_STOP_REASON_NONE
@ AMD_DBGAPI_WAVE_STOP_REASON_NONE
If none of the bits are set, then amd_dbgapi_wave_stop stopped the wave.
Definition amd-dbgapi.h:3753
AMD_DBGAPI_WAVE_STOP_REASON_BREAKPOINT
@ AMD_DBGAPI_WAVE_STOP_REASON_BREAKPOINT
The wave stopped due to executing a breakpoint instruction.
Definition amd-dbgapi.h:3759
AMD_DBGAPI_WAVE_STOP_REASON_FP_INVALID_OPERATION
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_INVALID_OPERATION
The wave stopped due to triggering an enabled floating point invalid operation exception.
Definition amd-dbgapi.h:3823
AMD_DBGAPI_WAVE_STOP_REASON_ADDRESS_ERROR
@ AMD_DBGAPI_WAVE_STOP_REASON_ADDRESS_ERROR
The wave stopped due to an aperture violation.
Definition amd-dbgapi.h:3903
AMD_DBGAPI_WAVE_STOP_REASON_TRAP
@ AMD_DBGAPI_WAVE_STOP_REASON_TRAP
The wave stopped due to executing a trap instruction other than the AMD_DBGAPI_WAVE_STOP_REASON_DEBUG...
Definition amd-dbgapi.h:3872
AMD_DBGAPI_WAVE_STOP_REASON_INT_DIVIDE_BY_0
@ AMD_DBGAPI_WAVE_STOP_REASON_INT_DIVIDE_BY_0
The wave stopped due to triggering an enabled integer divide by zero exception.
Definition amd-dbgapi.h:3831
AMD_DBGAPI_WAVE_STOP_REASON_FP_UNDERFLOW
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_UNDERFLOW
The wave stopped due to triggering an enabled floating point underflow exception.
Definition amd-dbgapi.h:3807
AMD_DBGAPI_WAVE_STOP_REASON_FP_INEXACT
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_INEXACT
The wave stopped due to triggering an enabled floating point inexact exception.
Definition amd-dbgapi.h:3815
AMD_DBGAPI_WAVE_STOP_REASON_FP_OVERFLOW
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_OVERFLOW
The wave stopped due to triggering an enabled floating point overflow exception.
Definition amd-dbgapi.h:3799
AMD_DBGAPI_WAVE_INFO_ARCHITECTURE
@ AMD_DBGAPI_WAVE_INFO_ARCHITECTURE
Return the architecture of this wave.
Definition amd-dbgapi.h:3617
AMD_DBGAPI_WAVE_INFO_DISPATCH
@ AMD_DBGAPI_WAVE_INFO_DISPATCH
Return the dispatch to which this wave belongs.
Definition amd-dbgapi.h:3597
AMD_DBGAPI_WAVE_INFO_QUEUE
@ AMD_DBGAPI_WAVE_INFO_QUEUE
Return the queue to which this wave belongs.
Definition amd-dbgapi.h:3602
AMD_DBGAPI_WAVE_INFO_EXEC_MASK
@ AMD_DBGAPI_WAVE_INFO_EXEC_MASK
Return the current execution mask of the wave.
Definition amd-dbgapi.h:3631
AMD_DBGAPI_WAVE_INFO_WORKGROUP
@ AMD_DBGAPI_WAVE_INFO_WORKGROUP
Return the workgroup to which this wave belongs.
Definition amd-dbgapi.h:3587
AMD_DBGAPI_WAVE_INFO_WAVE_NUMBER_IN_WORKGROUP
@ AMD_DBGAPI_WAVE_INFO_WAVE_NUMBER_IN_WORKGROUP
The wave's number in the workgroup.
Definition amd-dbgapi.h:3654
AMD_DBGAPI_WAVE_INFO_STATE
@ AMD_DBGAPI_WAVE_INFO_STATE
Return the wave's state.
Definition amd-dbgapi.h:3557
AMD_DBGAPI_WAVE_INFO_PROCESS
@ AMD_DBGAPI_WAVE_INFO_PROCESS
Return the process to which this wave belongs.
Definition amd-dbgapi.h:3612
AMD_DBGAPI_WAVE_INFO_AGENT
@ AMD_DBGAPI_WAVE_INFO_AGENT
Return the agent to which this wave belongs.
Definition amd-dbgapi.h:3607
AMD_DBGAPI_WAVE_INFO_WORKGROUP_COORD
@ AMD_DBGAPI_WAVE_INFO_WORKGROUP_COORD
The wave workgroup coordinate in the dispatch grid dimensions.
Definition amd-dbgapi.h:3642
AMD_DBGAPI_WAVE_INFO_WATCHPOINTS
@ AMD_DBGAPI_WAVE_INFO_WATCHPOINTS
Return the watchpoint(s) the wave triggered.
Definition amd-dbgapi.h:3577
AMD_DBGAPI_WAVE_INFO_LANE_COUNT
@ AMD_DBGAPI_WAVE_INFO_LANE_COUNT
The number of lanes supported by the wave.
Definition amd-dbgapi.h:3659
AMD_DBGAPI_WAVE_INFO_PC
@ AMD_DBGAPI_WAVE_INFO_PC
Return the current program counter value of the wave.
Definition amd-dbgapi.h:3623
AMD_DBGAPI_WAVE_INFO_STOP_REASON
@ AMD_DBGAPI_WAVE_INFO_STOP_REASON
Return the reason the wave stopped as a bit set.
Definition amd-dbgapi.h:3564
amd_dbgapi_process_workgroup_list
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_workgroup_list(amd_dbgapi_process_id_t process_id, size_t *workgroup_count, amd_dbgapi_workgroup_id_t **workgroups, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_64
Return the list of existing workgroups.
amd_dbgapi_workgroup_get_info
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_workgroup_get_info(amd_dbgapi_workgroup_id_t workgroup_id, amd_dbgapi_workgroup_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64
Query information about a workgroup.
amd_dbgapi_workgroup_info_t
amd_dbgapi_workgroup_info_t
Workgroup queries that are supported by amd_dbgapi_workgroup_get_info.
Definition amd-dbgapi.h:3374
AMD_DBGAPI_WORKGROUP_INFO_QUEUE
@ AMD_DBGAPI_WORKGROUP_INFO_QUEUE
Return the queue to which this workgroup belongs.
Definition amd-dbgapi.h:3389
AMD_DBGAPI_WORKGROUP_INFO_ARCHITECTURE
@ AMD_DBGAPI_WORKGROUP_INFO_ARCHITECTURE
Return the architecture of this workgroup.
Definition amd-dbgapi.h:3404
AMD_DBGAPI_WORKGROUP_INFO_WORKGROUP_COORD
@ AMD_DBGAPI_WORKGROUP_INFO_WORKGROUP_COORD
The workgroup workgroup coordinate in the dispatch grid dimensions.
Definition amd-dbgapi.h:3415
AMD_DBGAPI_WORKGROUP_INFO_DISPATCH
@ AMD_DBGAPI_WORKGROUP_INFO_DISPATCH
Return the dispatch to which this workgroup belongs.
Definition amd-dbgapi.h:3384
AMD_DBGAPI_WORKGROUP_INFO_PROCESS
@ AMD_DBGAPI_WORKGROUP_INFO_PROCESS
Return the process to which this workgroup belongs.
Definition amd-dbgapi.h:3399
AMD_DBGAPI_WORKGROUP_INFO_AGENT
@ AMD_DBGAPI_WORKGROUP_INFO_AGENT
Return the agent to which this workgroup belongs.
Definition amd-dbgapi.h:3394
amd_dbgapi_address_class_id_t
Opaque source language address class handle.
Definition amd-dbgapi.h:5698
amd_dbgapi_address_class_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:5699
amd_dbgapi_address_space_id_t
Opaque address space handle.
Definition amd-dbgapi.h:5883
amd_dbgapi_address_space_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:5884
amd_dbgapi_agent_id_t
Opaque agent handle.
Definition amd-dbgapi.h:2476
amd_dbgapi_agent_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:2477
amd_dbgapi_architecture_id_t
Opaque architecture handle.
Definition amd-dbgapi.h:1206
amd_dbgapi_architecture_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:1207
amd_dbgapi_breakpoint_id_t
Opaque breakpoint handle.
Definition amd-dbgapi.h:7203
amd_dbgapi_breakpoint_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:7204
amd_dbgapi_callbacks_s
Callbacks that the client of the library must provide.
Definition amd-dbgapi.h:7377
amd_dbgapi_callbacks_s::remove_breakpoint
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:7519
amd_dbgapi_callbacks_s::insert_breakpoint
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:7484
amd_dbgapi_callbacks_s::deallocate_memory
void(* deallocate_memory)(void *data)
Deallocate memory that was allocated by amd_dbgapi_callbacks_s::allocate_memory.
Definition amd-dbgapi.h:7408
amd_dbgapi_callbacks_s::client_process_get_info
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:7444
amd_dbgapi_callbacks_s::xfer_global_memory
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:7559
amd_dbgapi_callbacks_s::log_message
void(* log_message)(amd_dbgapi_log_level_t level, const char *message)
Report a log message.
Definition amd-dbgapi.h:7573
amd_dbgapi_code_object_id_t
Opaque code object handle.
Definition amd-dbgapi.h:2275
amd_dbgapi_code_object_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:2276
amd_dbgapi_core_state_data_t
AMDGPU corefile state data for a process.
Definition amd-dbgapi.h:1731
amd_dbgapi_core_state_data_t::size
size_t size
Size, in bytes, of the buffer pointed by amd_dbgapi_core_state_data_t::data.
Definition amd-dbgapi.h:1737
amd_dbgapi_core_state_data_t::endianness
amd_dbgapi_endianness_t endianness
Endianness encoding of the core state.
Definition amd-dbgapi.h:1733
amd_dbgapi_core_state_data_t::data
const void * data
Pointer to the buffer containing the core state data.
Definition amd-dbgapi.h:1745
amd_dbgapi_direct_call_register_pair_information_t
Instruction information for direct call instructions.
Definition amd-dbgapi.h:5633
amd_dbgapi_direct_call_register_pair_information_t::target_address
amd_dbgapi_global_address_t target_address
Definition amd-dbgapi.h:5634
amd_dbgapi_dispatch_id_t
Opaque dispatch handle.
Definition amd-dbgapi.h:3090
amd_dbgapi_dispatch_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:3091
amd_dbgapi_displaced_stepping_id_t
Opaque displaced stepping handle.
Definition amd-dbgapi.h:4351
amd_dbgapi_displaced_stepping_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:4352
amd_dbgapi_event_id_t
Opaque event handle.
Definition amd-dbgapi.h:6802
amd_dbgapi_event_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:6803
amd_dbgapi_process_id_t
Opaque process handle.
Definition amd-dbgapi.h:1705
amd_dbgapi_process_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:1706
amd_dbgapi_queue_id_t
Opaque queue handle.
Definition amd-dbgapi.h:2710
amd_dbgapi_queue_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:2711
amd_dbgapi_register_class_id_t
Opaque register class handle.
Definition amd-dbgapi.h:4870
amd_dbgapi_register_class_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:4871
amd_dbgapi_register_id_t
Opaque register handle.
Definition amd-dbgapi.h:5000
amd_dbgapi_register_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:5001
amd_dbgapi_watchpoint_id_t
Opaque hardware data watchpoint handle.
Definition amd-dbgapi.h:4603
amd_dbgapi_watchpoint_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:4604
amd_dbgapi_watchpoint_list_t
A set of watchpoints.
Definition amd-dbgapi.h:4742
amd_dbgapi_watchpoint_list_t::watchpoint_ids
amd_dbgapi_watchpoint_id_t * watchpoint_ids
Definition amd-dbgapi.h:4744
amd_dbgapi_watchpoint_list_t::count
size_t count
Definition amd-dbgapi.h:4743
amd_dbgapi_wave_id_t
Opaque wave handle.
Definition amd-dbgapi.h:3535
amd_dbgapi_wave_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:3536
amd_dbgapi_workgroup_id_t
Opaque workgroup handle.
Definition amd-dbgapi.h:3357
amd_dbgapi_workgroup_id_t::handle
uint64_t handle
Definition amd-dbgapi.h:3358