amd-dbgapi.h Source File

amd-dbgapi.h Source File#

ROCdbgapi: amd-dbgapi.h Source File
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 
487 #ifndef AMD_DBGAPI_H
488 #define AMD_DBGAPI_H 1
489 
490 /* Placeholder for calling convention and import/export macros */
491 #if !defined(AMD_DBGAPI_CALL)
492 #define AMD_DBGAPI_CALL
493 #endif /* !defined (AMD_DBGAPI_CALL) */
494 
495 #if !defined(AMD_DBGAPI_EXPORT_DECORATOR)
496 # if defined(_WIN32)
497 # define AMD_DBGAPI_EXPORT_DECORATOR __declspec(dllexport)
498 # elif defined(__GNUC__)
499 # define AMD_DBGAPI_EXPORT_DECORATOR __attribute__ ((visibility ("default")))
500 # else
501 # define AMD_DBGAPI_EXPORT_DECORATOR
502 # endif
503 #endif /* !defined (AMD_DBGAPI_EXPORT_DECORATOR) */
504 
505 #if !defined(AMD_DBGAPI_IMPORT_DECORATOR)
506 # if defined(_WIN32)
507 # define AMD_DBGAPI_IMPORT_DECORATOR __declspec(dllimport)
508 # else
509 # define AMD_DBGAPI_IMPORT_DECORATOR
510 # endif
511 #endif /* !defined (AMD_DBGAPI_IMPORT_DECORATOR) */
512 
513 /* True if dbgapi was built as a static library. */
514 #define AMD_DBGAPI_STATIC_LIB @AMD_DBGAPI_STATIC_LIB@
515 
516 #if !defined(AMD_DBGAPI)
517 # if AMD_DBGAPI_STATIC_LIB
518 # define AMD_DBGAPI AMD_DBGAPI_CALL
519 # else
520 # if defined(AMD_DBGAPI_EXPORTS)
521 # define AMD_DBGAPI AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL
522 # else
523 # define AMD_DBGAPI AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL
524 # endif
525 # endif
526 #endif /* !defined (AMD_DBGAPI) */
527 
528 /* By default, MSVC reports 199711L (C++98) for the __cplusplus macro,
529  regardless of the actual language version you are using (like C++17
530  or C++20). Instead, we need to look at _MSVC_LANG, which correctly
531  reports the C++ standard version being targeted by the
532  compiler. */
533 #if defined(__cplusplus)
534 # if defined(_MSVC_LANG)
535 # define AMD_DBGAPI_CPLUSPLUS _MSVC_LANG
536 # else
537 # define AMD_DBGAPI_CPLUSPLUS __cplusplus
538 # endif
539 #endif
540 
541 #if defined(__cplusplus) && AMD_DBGAPI_CPLUSPLUS >= 201103L
542 /* c++11 allows extended initializer lists. */
543 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) (type{ value })
544 #elif __STDC_VERSION__ >= 199901L
545 /* c99 allows compound literals. */
546 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) ((type){ value })
547 #else /* !__STDC_VERSION__ >= 199901L */
548 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) {value}
549 #endif /* !__STDC_VERSION__ >= 199901L */
550 
551 #if defined(__cplusplus) && AMD_DBGAPI_CPLUSPLUS >= 201402L
552 #define DEPRECATED [[deprecated]]
553 #else
554 #define DEPRECATED
555 #endif
556 
557 #if defined(__cplusplus)
558 extern "C" {
559 #endif /* defined (__cplusplus) */
560 
561 #if defined(__linux__)
562 #include <sys/types.h>
563 #endif /* __linux__ */
564 
565 #if defined(_WIN32)
566 /* Define these ourselves to avoid including windows.h in our public
567  header and polluting the namespace. */
568 typedef void *amd_dbgapi_HANDLE;
569 typedef unsigned long amd_dbgapi_DWORD;
570 #endif /* _WIN32 */
571 
572 #include <stddef.h>
573 #include <stdint.h>
574 
594 #define AMD_DBGAPI_VERSION_0_54
595 
600 #define AMD_DBGAPI_VERSION_0_56
601 
606 #define AMD_DBGAPI_VERSION_0_58
607 
612 #define AMD_DBGAPI_VERSION_0_62
613 
618 #define AMD_DBGAPI_VERSION_0_64
619 
624 #define AMD_DBGAPI_VERSION_0_67
625 
630 #define AMD_DBGAPI_VERSION_0_68
631 
636 #define AMD_DBGAPI_VERSION_0_70
637 
642 #define AMD_DBGAPI_VERSION_0_76
643 
648 #define AMD_DBGAPI_VERSION_0_77
649 
654 #define AMD_DBGAPI_VERSION_0_78
655 
660 #define AMD_DBGAPI_VERSION_0_79
661 
666 #define AMD_DBGAPI_VERSION_0_80
667 
675 
699 
703 typedef uint64_t amd_dbgapi_size_t;
704 
708 typedef enum
709 {
719 
727 #if defined(__linux__)
729 #elif defined(_WIN32)
730 typedef amd_dbgapi_DWORD amd_dbgapi_os_process_id_t;
731 #endif /* _WIN32 */
732 
763 #if defined(__linux__)
765 #elif defined(_WIN32)
766 typedef amd_dbgapi_HANDLE amd_dbgapi_notifier_t;
767 #endif /* _WIN32 */
768 
776 #if defined(__linux__) || defined(_WIN32)
777 typedef uint64_t amd_dbgapi_os_agent_id_t;
778 #endif /* __linux__ || _WIN32 */
779 
786 #if defined(__linux__) || defined(_WIN32)
787 typedef uint64_t amd_dbgapi_os_queue_id_t;
788 #endif /* __linux__ || _WIN32 */
789 
798 #if defined(__linux__) || defined(_WIN32)
800 #endif /* __linux__ || _WIN32 */
801 
809 #if defined(__linux__) || defined(_WIN32)
810 typedef enum
811 {
833 #endif /* __linux__ || _WIN32 */
834 
847 typedef enum
848 {
1094 
1112  amd_dbgapi_status_t status,
1113  const char **status_string) AMD_DBGAPI_VERSION_0_54;
1114 
1138 #define AMD_DBGAPI_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
1139 
1144 #define AMD_DBGAPI_VERSION_MINOR @PROJECT_VERSION_MINOR@
1145 
1160  uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_54;
1161 
1170 const char AMD_DBGAPI *
1172 
1220 
1247 
1269 typedef struct
1270 {
1271  uint64_t handle;
1273 
1277 #define AMD_DBGAPI_ARCHITECTURE_NONE \
1278  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_architecture_id_t, 0)
1279 
1287 typedef enum
1288 {
1340 
1380  amd_dbgapi_architecture_id_t architecture_id,
1381  amd_dbgapi_architecture_info_t query, size_t value_size,
1382  void *value) AMD_DBGAPI_VERSION_0_54;
1383 
1413  uint32_t elf_amdgpu_machine,
1415 
1422 typedef struct amd_dbgapi_symbolizer_id_s *amd_dbgapi_symbolizer_id_t;
1423 
1518  amd_dbgapi_architecture_id_t architecture_id,
1520  const void *memory, char **instruction_text,
1521  amd_dbgapi_symbolizer_id_t symbolizer_id,
1522  amd_dbgapi_status_t (*symbolizer) (
1523  amd_dbgapi_symbolizer_id_t symbolizer_id,
1525  char **symbol_text)) AMD_DBGAPI_VERSION_0_54;
1526 
1530 typedef enum
1531 {
1652 
1656 typedef enum
1657 {
1663 
1739  amd_dbgapi_architecture_id_t architecture_id,
1741  const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind,
1742  amd_dbgapi_instruction_properties_t *instruction_properties,
1743  void **instruction_information) AMD_DBGAPI_VERSION_0_58;
1744 
1766 typedef struct amd_dbgapi_client_process_s *amd_dbgapi_client_process_id_t;
1767 
1778 typedef struct
1779 {
1780  uint64_t handle;
1782 
1786 #define AMD_DBGAPI_PROCESS_NONE \
1787  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_process_id_t, 0)
1788 
1792 typedef enum
1793 {
1796 
1800 
1804 typedef struct
1805 {
1811  size_t size;
1819  const void *data;
1821 
1828 typedef enum
1829 {
1893 
1945  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_80;
1946 
2044  amd_dbgapi_client_process_id_t client_process_id,
2046 
2095 
2110 typedef enum
2111 {
2143 
2173  amd_dbgapi_process_id_t process_id,
2175 
2187 typedef enum
2188 {
2198 
2228  amd_dbgapi_process_id_t process_id,
2230 
2301 
2328 
2356 typedef struct
2357 {
2358  uint64_t handle;
2360 
2364 #define AMD_DBGAPI_CODE_OBJECT_NONE \
2365  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_code_object_id_t, 0)
2366 
2373 typedef enum
2374 {
2443 
2483  amd_dbgapi_code_object_id_t code_object_id,
2484  amd_dbgapi_code_object_info_t query, size_t value_size,
2485  void *value) AMD_DBGAPI_VERSION_0_54;
2486 
2537  amd_dbgapi_process_id_t process_id, size_t *code_object_count,
2538  amd_dbgapi_code_object_id_t **code_objects,
2540 
2557 typedef struct
2558 {
2559  uint64_t handle;
2561 
2565 #define AMD_DBGAPI_AGENT_NONE \
2566  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_agent_id_t, 0)
2567 
2574 typedef enum
2575 {
2636 
2640 typedef enum
2641 {
2670 
2715  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_67;
2716 
2769  amd_dbgapi_process_id_t process_id, size_t *agent_count,
2770  amd_dbgapi_agent_id_t **agents,
2772 
2791 typedef struct
2792 {
2793  uint64_t handle;
2795 
2799 #define AMD_DBGAPI_QUEUE_NONE \
2800  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_queue_id_t, 0)
2801 
2808 typedef enum
2809 {
2858 
2899  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_68;
2900 
2904 typedef enum
2905 {
2925 
2930 typedef enum
2931 {
2986  AMD_DBGAPI_EXCEPTION_WAVE_APERTURE_VIOLATION DEPRECATED
3026 
3080  amd_dbgapi_process_id_t process_id, size_t *queue_count,
3081  amd_dbgapi_queue_id_t **queues,
3083 
3148  amd_dbgapi_queue_id_t queue_id,
3149  amd_dbgapi_os_queue_packet_id_t *read_packet_id,
3150  amd_dbgapi_os_queue_packet_id_t *write_packet_id,
3151  size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_54;
3152 
3171 typedef struct
3172 {
3173  uint64_t handle;
3175 
3179 #define AMD_DBGAPI_DISPATCH_NONE \
3180  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_dispatch_id_t, 0)
3181 
3188 typedef enum
3189 {
3282 
3326  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
3327 
3334 typedef enum
3335 {
3346 
3353 typedef enum
3354 {
3368 
3418  amd_dbgapi_process_id_t process_id, size_t *dispatch_count,
3419  amd_dbgapi_dispatch_id_t **dispatches,
3421 
3438 typedef struct
3439 {
3440  uint64_t handle;
3442 
3446 #define AMD_DBGAPI_WORKGROUP_NONE \
3447  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0)
3448 
3455 typedef enum
3456 {
3499 
3544  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3545 
3596  amd_dbgapi_process_id_t process_id, size_t *workgroup_count,
3597  amd_dbgapi_workgroup_id_t **workgroups,
3599 
3616 typedef struct
3617 {
3618  uint64_t handle;
3620 
3624 #define AMD_DBGAPI_WAVE_NONE \
3625  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_wave_id_t, 0)
3626 
3633 typedef enum
3634 {
3743 
3792  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3793 
3797 typedef enum
3798 {
3822 
3829 typedef enum
3830 {
3989  AMD_DBGAPI_WAVE_STOP_REASON_APERTURE_VIOLATION DEPRECATED
4021 
4070  amd_dbgapi_process_id_t process_id, size_t *wave_count,
4071  amd_dbgapi_wave_id_t **waves,
4073 
4157 
4161 typedef enum
4162 {
4172 
4328  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode,
4330 
4432 typedef struct
4433 {
4434  uint64_t handle;
4436 
4440 #define AMD_DBGAPI_DISPLACED_STEPPING_NONE \
4441  (amd_dbgapi_displaced_stepping_id_t{ 0 })
4442 
4450 typedef enum
4451 {
4458 
4499  amd_dbgapi_displaced_stepping_id_t displaced_stepping_id,
4500  amd_dbgapi_displaced_stepping_info_t query, size_t value_size,
4501  void *value) AMD_DBGAPI_VERSION_0_54;
4502 
4589  amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes,
4590  amd_dbgapi_displaced_stepping_id_t *displaced_stepping)
4592 
4647  amd_dbgapi_wave_id_t wave_id,
4648  amd_dbgapi_displaced_stepping_id_t displaced_stepping)
4650 
4684 typedef struct
4685 {
4686  uint64_t handle;
4688 
4692 #define AMD_DBGAPI_WATCHPOINT_NONE \
4693  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_watchpoint_id_t, 0)
4694 
4701 typedef enum
4702 {
4719 
4759  amd_dbgapi_watchpoint_id_t watchpoint_id,
4760  amd_dbgapi_watchpoint_info_t query, size_t value_size,
4761  void *value) AMD_DBGAPI_VERSION_0_54;
4762 
4769 typedef enum
4770 {
4788 
4795 typedef enum
4796 {
4816 
4823 typedef struct
4824 {
4825  size_t count;
4828 
4904 
4929 
4951 typedef struct
4952 {
4953  uint64_t handle;
4955 
4959 #define AMD_DBGAPI_REGISTER_CLASS_NONE \
4960  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_class_id_t, 0)
4961 
4969 typedef enum
4970 {
4984 
5025  amd_dbgapi_register_class_id_t register_class_id,
5026  amd_dbgapi_register_class_info_t query, size_t value_size,
5027  void *value) AMD_DBGAPI_VERSION_0_54;
5028 
5070  amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count,
5072 
5081 typedef struct
5082 {
5083  uint64_t handle;
5085 
5089 #define AMD_DBGAPI_REGISTER_NONE \
5090  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_id_t, 0)
5091 
5098 typedef enum
5099 {
5125 
5132 typedef enum
5133 {
5227 
5273  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_70;
5274 
5278 typedef enum
5279 {
5289 
5324  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5326 
5372  amd_dbgapi_architecture_id_t architecture_id, size_t *register_count,
5374 
5419  amd_dbgapi_wave_id_t wave_id, size_t *register_count,
5421 
5459  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register,
5461 
5465 typedef enum
5466 {
5476 
5515  amd_dbgapi_register_class_id_t register_class_id,
5516  amd_dbgapi_register_id_t register_id,
5517  amd_dbgapi_register_class_state_t *register_class_state)
5519 
5577  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5578  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5579  void *value) AMD_DBGAPI_VERSION_0_62;
5580 
5646  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5647  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5648  const void *value) AMD_DBGAPI_VERSION_0_76;
5649 
5704  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5706 
5714 typedef struct
5715 {
5717  amd_dbgapi_register_id_t saved_return_address_register[2];
5719 
5759 typedef uint32_t amd_dbgapi_lane_id_t;
5760 
5764 #define AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1))
5765 
5779 typedef struct
5780 {
5781  uint64_t handle;
5783 
5787 #define AMD_DBGAPI_ADDRESS_CLASS_NONE \
5788  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_class_id_t, 0)
5789 
5797 typedef enum
5798 {
5821 
5862  amd_dbgapi_address_class_id_t address_class_id,
5863  amd_dbgapi_address_class_info_t query, size_t value_size,
5864  void *value) AMD_DBGAPI_VERSION_0_62;
5865 
5908  amd_dbgapi_architecture_id_t architecture_id, size_t *address_class_count,
5910 
5950  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_class,
5952 
5964 typedef struct
5965 {
5966  uint64_t handle;
5968 
5972 #define AMD_DBGAPI_ADDRESS_SPACE_NONE \
5973  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 0)
5974 
5981 #define AMD_DBGAPI_ADDRESS_SPACE_GLOBAL \
5982  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 1)
5983 
5987 typedef enum
5988 {
6005 
6013 typedef enum
6014 {
6043 
6083  amd_dbgapi_address_space_id_t address_space_id,
6084  amd_dbgapi_address_space_info_t query, size_t value_size,
6085  void *value) AMD_DBGAPI_VERSION_0_62;
6086 
6126  amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count,
6128 
6169  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space,
6171 
6189 
6305  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6306  amd_dbgapi_address_space_id_t source_address_space_id,
6307  amd_dbgapi_segment_address_t source_segment_address,
6308  amd_dbgapi_address_space_id_t destination_address_space_id,
6309  amd_dbgapi_segment_address_t *destination_segment_address,
6310  amd_dbgapi_size_t *destination_contiguous_bytes)
6312 
6318 typedef enum
6319 {
6345 
6404  amd_dbgapi_process_id_t process_id,
6405  amd_dbgapi_wave_id_t wave_id,
6406  amd_dbgapi_address_space_id_t address_space_id,
6407  amd_dbgapi_segment_address_t segment_address,
6408  amd_dbgapi_segment_address_dependency_t *segment_address_dependency)
6410 
6415 typedef enum
6416 {
6428 
6501  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6502  amd_dbgapi_address_space_id_t address_space_id,
6503  amd_dbgapi_segment_address_t segment_address,
6504  amd_dbgapi_address_class_id_t address_class_id,
6505  amd_dbgapi_address_class_state_t *address_class_state)
6507 
6611  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6612  amd_dbgapi_lane_id_t lane_id,
6613  amd_dbgapi_address_space_id_t address_space_id,
6614  amd_dbgapi_segment_address_t segment_address,
6615  amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_78;
6616 
6724  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6725  amd_dbgapi_lane_id_t lane_id,
6726  amd_dbgapi_address_space_id_t address_space_id,
6727  amd_dbgapi_segment_address_t segment_address,
6728  amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_78;
6729 
6748 typedef enum
6749 {
6761 
6801  amd_dbgapi_process_id_t process_id,
6803 
6822 typedef enum
6823 {
6836 
6877  amd_dbgapi_process_id_t process_id,
6878  amd_dbgapi_alu_exceptions_precision_t alu_exceptions_precision)
6880 
6912 typedef struct
6913 {
6914  uint64_t handle;
6916 
6920 #define AMD_DBGAPI_EVENT_NONE \
6921  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_event_id_t, 0)
6922 
6926 typedef enum
6927 {
7036 
7073  amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id,
7075 
7079 typedef enum
7080 {
7097 
7104 typedef enum
7105 {
7145 
7187  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
7188 
7216 
7238 typedef enum
7239 {
7266 
7287 
7313 typedef struct
7314 {
7315  uint64_t handle;
7317 
7321 #define AMD_DBGAPI_BREAKPOINT_NONE \
7322  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0)
7323 
7330 typedef enum
7331 {
7338 
7378  amd_dbgapi_breakpoint_id_t breakpoint_id,
7379  amd_dbgapi_breakpoint_info_t query, size_t value_size,
7380  void *value) AMD_DBGAPI_VERSION_0_54;
7381 
7385 typedef enum
7386 {
7396 
7406 typedef struct amd_dbgapi_client_thread_s *amd_dbgapi_client_thread_id_t;
7407 
7446  amd_dbgapi_breakpoint_id_t breakpoint_id,
7447  amd_dbgapi_client_thread_id_t client_thread_id,
7449 
7456 typedef enum
7457 {
7480 
7488 {
7489 
7501  void *(*allocate_memory) (size_t byte_size);
7502 
7519  void (*deallocate_memory) (void *data);
7520 
7556  amd_dbgapi_client_process_id_t client_process_id,
7558  size_t value_size, void *value);
7559 
7596  amd_dbgapi_client_process_id_t client_process_id,
7598  amd_dbgapi_breakpoint_id_t breakpoint_id);
7599 
7631  amd_dbgapi_client_process_id_t client_process_id,
7632  amd_dbgapi_breakpoint_id_t breakpoint_id);
7633 
7671  amd_dbgapi_client_process_id_t client_process_id,
7672  amd_dbgapi_global_address_t global_address,
7673  amd_dbgapi_size_t *value_size, void *read_buffer,
7674  const void *write_buffer);
7675 
7684  void (*log_message) (amd_dbgapi_log_level_t level, const char *message);
7685 };
7686 
7689 #if defined(__cplusplus)
7690 } /* extern "C" */
7691 #endif /* defined (__cplusplus) */
7692 
7693 #endif /* amd-dbgapi.h */
#define AMD_DBGAPI
Definition: amd-dbgapi.h:523
#define DEPRECATED
Old deprecated name kept for backward compatibility.
Definition: amd-dbgapi.h:554
amd_dbgapi_agent_state_t
Agent state.
Definition: amd-dbgapi.h:2641
amd_dbgapi_agent_info_t
Agent queries that are supported by amd_dbgapi_agent_get_info.
Definition: amd-dbgapi.h:2575
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_agent_get_info(amd_dbgapi_agent_id_t agent_id, amd_dbgapi_agent_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_67
Query information about an agent.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_agent_list(amd_dbgapi_process_id_t process_id, size_t *agent_count, amd_dbgapi_agent_id_t **agents, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of agents.
@ AMD_DBGAPI_AGENT_STATE_NOT_SUPPORTED
Agent does not support debugging.
Definition: amd-dbgapi.h:2668
@ AMD_DBGAPI_AGENT_STATE_SUPPORTED
Agent supports debugging.
Definition: amd-dbgapi.h:2645
@ AMD_DBGAPI_AGENT_INFO_STATE
Return the agent state.
Definition: amd-dbgapi.h:2601
@ AMD_DBGAPI_AGENT_INFO_OS_ID
Native operating system agent ID.
Definition: amd-dbgapi.h:2634
@ AMD_DBGAPI_AGENT_INFO_PCI_DEVICE_ID
PCI device ID of the agent.
Definition: amd-dbgapi.h:2619
@ AMD_DBGAPI_AGENT_INFO_PROCESS
Return the process to which this agent belongs.
Definition: amd-dbgapi.h:2580
@ AMD_DBGAPI_AGENT_INFO_PCI_VENDOR_ID
PCI vendor ID of the agent.
Definition: amd-dbgapi.h:2615
@ AMD_DBGAPI_AGENT_INFO_NAME
Agent name.
Definition: amd-dbgapi.h:2586
@ AMD_DBGAPI_AGENT_INFO_ARCHITECTURE
Return the architecture of this agent.
Definition: amd-dbgapi.h:2596
@ AMD_DBGAPI_AGENT_INFO_EXECUTION_UNIT_COUNT
Total number of Execution Units (EUs) available in the agent.
Definition: amd-dbgapi.h:2624
@ AMD_DBGAPI_AGENT_INFO_PCI_DOMAIN
PCI domain the agent is in.
Definition: amd-dbgapi.h:2605
@ 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:2611
@ AMD_DBGAPI_AGENT_INFO_MAX_WAVES_PER_EXECUTION_UNIT
Maximum number of waves supported by an execution unit.
Definition: amd-dbgapi.h:2629
amd_dbgapi_architecture_info_t
Architecture queries that are supported by amd_dbgapi_architecture_get_info.
Definition: amd-dbgapi.h:1288
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_disassemble_instruction(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size, const void *memory, char **instruction_text, amd_dbgapi_symbolizer_id_t symbolizer_id, amd_dbgapi_status_t(*symbolizer)(amd_dbgapi_symbolizer_id_t symbolizer_id, amd_dbgapi_global_address_t address, char **symbol_text)) AMD_DBGAPI_VERSION_0_54
Disassemble a single instruction.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_classify_instruction(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size, const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind, amd_dbgapi_instruction_properties_t *instruction_properties, void **instruction_information) AMD_DBGAPI_VERSION_0_58
Classify a single instruction.
struct amd_dbgapi_symbolizer_id_s * amd_dbgapi_symbolizer_id_t
Opaque client symbolizer handle.
Definition: amd-dbgapi.h:1422
amd_dbgapi_instruction_kind_t
The kinds of instruction classifications.
Definition: amd-dbgapi.h:1531
amd_dbgapi_instruction_properties_t
A bit mask of the properties of an instruction.
Definition: amd-dbgapi.h:1657
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_get_info(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_architecture_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about an architecture.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_get_architecture(uint32_t elf_amdgpu_machine, amd_dbgapi_architecture_id_t *architecture_id) AMD_DBGAPI_VERSION_0_54
Get an architecture from the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
@ AMD_DBGAPI_ARCHITECTURE_INFO_ELF_AMDGPU_MACHINE
Return the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
Definition: amd-dbgapi.h:1303
@ AMD_DBGAPI_ARCHITECTURE_INFO_MINIMUM_INSTRUCTION_ALIGNMENT
Return the minimum instruction alignment in bytes for the architecture.
Definition: amd-dbgapi.h:1314
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_SIZE
Return the breakpoint instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1319
@ AMD_DBGAPI_ARCHITECTURE_INFO_PC_REGISTER
Return the register handle for the PC for the architecture.
Definition: amd-dbgapi.h:1338
@ 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:1333
@ AMD_DBGAPI_ARCHITECTURE_INFO_LARGEST_INSTRUCTION_SIZE
Return the largest instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1308
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION
Return the breakpoint instruction for the architecture.
Definition: amd-dbgapi.h:1327
@ AMD_DBGAPI_ARCHITECTURE_INFO_NAME
Return the architecture name.
Definition: amd-dbgapi.h:1295
@ 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:1625
@ 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:1594
@ AMD_DBGAPI_INSTRUCTION_KIND_SEQUENTIAL
The instruction executes sequentially.
Definition: amd-dbgapi.h:1542
@ 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:1573
@ 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:1640
@ AMD_DBGAPI_INSTRUCTION_KIND_HALT
The instruction unconditionally halts the wave.
Definition: amd-dbgapi.h:1618
@ AMD_DBGAPI_INSTRUCTION_KIND_TRAP
The instruction enters the trap handler.
Definition: amd-dbgapi.h:1613
@ 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:1584
@ 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:1563
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH_CONDITIONAL
The instruction conditionally branches to a literal address.
Definition: amd-dbgapi.h:1555
@ AMD_DBGAPI_INSTRUCTION_KIND_RELATIVE_BRANCH_REGISTER_PAIR
The instruction unconditionally branches to "PC + offset".
Definition: amd-dbgapi.h:1650
@ 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:1631
@ AMD_DBGAPI_INSTRUCTION_KIND_TERMINATE
The instruction terminates the wave execution.
Definition: amd-dbgapi.h:1599
@ AMD_DBGAPI_INSTRUCTION_KIND_UNKNOWN
The instruction classification is unknown.
Definition: amd-dbgapi.h:1536
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH
The instruction unconditionally branches to a literal address.
Definition: amd-dbgapi.h:1548
@ AMD_DBGAPI_INSTRUCTION_PROPERTY_NONE
The instruction has no properties.
Definition: amd-dbgapi.h:1661
uint64_t amd_dbgapi_size_t
Integral type used for sizes, including memory allocations, in the inferior.
Definition: amd-dbgapi.h:703
uint64_t amd_dbgapi_os_queue_id_t
Native operating system queue ID.
Definition: amd-dbgapi.h:787
uint64_t amd_dbgapi_global_address_t
Integral type used for a global virtual memory address in the inferior process.
Definition: amd-dbgapi.h:698
uint64_t amd_dbgapi_os_queue_packet_id_t
Native operating system queue packet ID.
Definition: amd-dbgapi.h:799
uint64_t amd_dbgapi_os_agent_id_t
Native operating system agent ID.
Definition: amd-dbgapi.h:777
amd_dbgapi_os_queue_type_t
Native operating system queue type.
Definition: amd-dbgapi.h:811
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:764
pid_t amd_dbgapi_os_process_id_t
Native operating system process ID.
Definition: amd-dbgapi.h:728
amd_dbgapi_changed_t
Indication of if a value has changed.
Definition: amd-dbgapi.h:709
@ AMD_DBGAPI_OS_QUEUE_TYPE_UNKNOWN
Unknown queue type.
Definition: amd-dbgapi.h:815
@ AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA
Queue supports the AMD SDMA protocol.
Definition: amd-dbgapi.h:827
@ AMD_DBGAPI_OS_QUEUE_TYPE_AMD_PM4
Queue supports the AMD PM4 protocol.
Definition: amd-dbgapi.h:823
@ AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA_XGMI
Queue supports the AMD SDMA XGMI protocol.
Definition: amd-dbgapi.h:831
@ AMD_DBGAPI_OS_QUEUE_TYPE_HSA_AQL
Queue supports the HSA AQL protocol.
Definition: amd-dbgapi.h:819
@ AMD_DBGAPI_CHANGED_YES
The value has changed.
Definition: amd-dbgapi.h:717
@ AMD_DBGAPI_CHANGED_NO
The value has not changed.
Definition: amd-dbgapi.h:713
amd_dbgapi_breakpoint_info_t
Breakpoint queries that are supported by amd_dbgapi_breakpoint_get_info.
Definition: amd-dbgapi.h:7331
amd_dbgapi_client_process_info_t
Client queries that are supported by the client_process_get_info callback.
Definition: amd-dbgapi.h:7457
amd_dbgapi_breakpoint_action_t
The action to perform after reporting a breakpoint has been hit.
Definition: amd-dbgapi.h:7386
struct amd_dbgapi_client_thread_s * amd_dbgapi_client_thread_id_t
Opaque client thread handle.
Definition: amd-dbgapi.h:7406
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_breakpoint_get_info(amd_dbgapi_breakpoint_id_t breakpoint_id, amd_dbgapi_breakpoint_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a breakpoint.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_report_breakpoint_hit(amd_dbgapi_breakpoint_id_t breakpoint_id, amd_dbgapi_client_thread_id_t client_thread_id, amd_dbgapi_breakpoint_action_t *breakpoint_action) AMD_DBGAPI_VERSION_0_54
Report that a breakpoint inserted by the amd_dbgapi_callbacks_s::insert_breakpoint callback has been ...
@ AMD_DBGAPI_BREAKPOINT_INFO_PROCESS
Return the process to which this breakpoint belongs.
Definition: amd-dbgapi.h:7336
@ 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:7478
@ AMD_DBGAPI_CLIENT_PROCESS_INFO_OS_PID
Return the native operating system process handle.
Definition: amd-dbgapi.h:7468
@ AMD_DBGAPI_BREAKPOINT_ACTION_RESUME
Resume execution.
Definition: amd-dbgapi.h:7390
@ AMD_DBGAPI_BREAKPOINT_ACTION_HALT
Leave execution halted.
Definition: amd-dbgapi.h:7394
amd_dbgapi_code_object_info_t
Code object queries that are supported by amd_dbgapi_code_object_get_info.
Definition: amd-dbgapi.h:2374
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_code_object_get_info(amd_dbgapi_code_object_id_t code_object_id, amd_dbgapi_code_object_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a code object.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_code_object_list(amd_dbgapi_process_id_t process_id, size_t *code_object_count, amd_dbgapi_code_object_id_t **code_objects, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of loaded code objects.
@ AMD_DBGAPI_CODE_OBJECT_INFO_PROCESS
Return the process to which this code object belongs.
Definition: amd-dbgapi.h:2379
@ 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:2435
@ 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:2441
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_unfreeze(amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_76
Unfreeze the process identified by process_id.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Definition: amd-dbgapi.h:3189
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_dispatch_list(amd_dbgapi_process_id_t process_id, size_t *dispatch_count, amd_dbgapi_dispatch_id_t **dispatches, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of dispatches.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
Dispatch barrier.
Definition: amd-dbgapi.h:3335
amd_dbgapi_dispatch_fence_scope_t
Dispatch memory fence scope.
Definition: amd-dbgapi.h:3354
@ AMD_DBGAPI_DISPATCH_INFO_ACQUIRE_FENCE
Return the dispatch acquire fence.
Definition: amd-dbgapi.h:3225
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_ARGUMENT_SEGMENT_ADDRESS
Return the dispatch kernel argument segment address.
Definition: amd-dbgapi.h:3260
@ AMD_DBGAPI_DISPATCH_INFO_QUEUE
Return the queue to which this dispatch belongs.
Definition: amd-dbgapi.h:3194
@ AMD_DBGAPI_DISPATCH_INFO_GROUP_SEGMENT_SIZE
Return the dispatch group segment size in bytes.
Definition: amd-dbgapi.h:3255
@ AMD_DBGAPI_DISPATCH_INFO_AGENT
Return the agent to which this dispatch belongs.
Definition: amd-dbgapi.h:3199
@ AMD_DBGAPI_DISPATCH_INFO_GRID_DIMENSIONS
Return the dispatch grid dimensionality.
Definition: amd-dbgapi.h:3235
@ 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:3215
@ AMD_DBGAPI_DISPATCH_INFO_PROCESS
Return the process to which this dispatch belongs.
Definition: amd-dbgapi.h:3204
@ AMD_DBGAPI_DISPATCH_INFO_GRID_SIZES
Return the dispatch grid size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3245
@ AMD_DBGAPI_DISPATCH_INFO_RELEASE_FENCE
Return the dispatch release fence.
Definition: amd-dbgapi.h:3230
@ AMD_DBGAPI_DISPATCH_INFO_BARRIER
Return the dispatch barrier setting.
Definition: amd-dbgapi.h:3220
@ AMD_DBGAPI_DISPATCH_INFO_ARCHITECTURE
Return the architecture of this dispatch.
Definition: amd-dbgapi.h:3209
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_DESCRIPTOR_ADDRESS
Return the dispatch kernel descriptor address.
Definition: amd-dbgapi.h:3265
@ AMD_DBGAPI_DISPATCH_INFO_PRIVATE_SEGMENT_SIZE
Return the dispatch private segment size in bytes.
Definition: amd-dbgapi.h:3250
@ AMD_DBGAPI_DISPATCH_INFO_WORKGROUP_SIZES
Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3240
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_COMPLETION_ADDRESS
Return the dispatch completion event address.
Definition: amd-dbgapi.h:3280
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_CODE_ENTRY_ADDRESS
Return the dispatch kernel code entry address.
Definition: amd-dbgapi.h:3270
@ AMD_DBGAPI_DISPATCH_BARRIER_NONE
Dispatch has no barrier.
Definition: amd-dbgapi.h:3339
@ AMD_DBGAPI_DISPATCH_BARRIER_PRESENT
Dispatch has a barrier.
Definition: amd-dbgapi.h:3344
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_NONE
There is no fence.
Definition: amd-dbgapi.h:3358
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_AGENT
There is a fence with agent memory scope.
Definition: amd-dbgapi.h:3362
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_SYSTEM
There is a fence with system memory scope.
Definition: amd-dbgapi.h:3366
amd_dbgapi_displaced_stepping_info_t
Displaced stepping queries that are supported by amd_dbgapi_displaced_stepping_id_t.
Definition: amd-dbgapi.h:4451
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_get_info(amd_dbgapi_displaced_stepping_id_t displaced_stepping_id, amd_dbgapi_displaced_stepping_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a displaced stepping buffer.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_complete(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_displaced_stepping_id_t displaced_stepping) AMD_DBGAPI_VERSION_0_76
Complete a displaced stepping buffer for a wave.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
Return the process to which this displaced stepping buffer belongs.
Definition: amd-dbgapi.h:4456
amd_dbgapi_event_info_t
Event queries that are supported by amd_dbgapi_event_get_info.
Definition: amd-dbgapi.h:7105
amd_dbgapi_runtime_state_t
Inferior's runtime state.
Definition: amd-dbgapi.h:7080
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_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
The event kinds.
Definition: amd-dbgapi.h:6927
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
Return the client thread of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:7131
@ AMD_DBGAPI_EVENT_INFO_KIND
Return the event kind.
Definition: amd-dbgapi.h:7115
@ 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:7138
@ AMD_DBGAPI_EVENT_INFO_BREAKPOINT
Return the breakpoint of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:7126
@ 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:7121
@ AMD_DBGAPI_EVENT_INFO_PROCESS
Return the process to which this event belongs.
Definition: amd-dbgapi.h:7110
@ AMD_DBGAPI_EVENT_INFO_QUEUE
Return the queue of a AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR event.
Definition: amd-dbgapi.h:7143
@ AMD_DBGAPI_RUNTIME_STATE_UNLOADED
The inferior's runtime has been unloaded.
Definition: amd-dbgapi.h:7089
@ AMD_DBGAPI_RUNTIME_STATE_LOADED_SUCCESS
The inferior's runtime has been loaded and debugging is supported by the library.
Definition: amd-dbgapi.h:7085
@ 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:7095
@ AMD_DBGAPI_EVENT_KIND_CODE_OBJECT_LIST_UPDATED
The list of code objects has changed.
Definition: amd-dbgapi.h:6972
@ 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:6950
@ 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:7034
@ AMD_DBGAPI_EVENT_KIND_WAVE_STOP
A wave has stopped.
Definition: amd-dbgapi.h:6935
@ AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME
Request to resume a host breakpoint.
Definition: amd-dbgapi.h:6985
@ AMD_DBGAPI_EVENT_KIND_RUNTIME
The runtime support in the inferior is enabled or disabled.
Definition: amd-dbgapi.h:7000
@ AMD_DBGAPI_EVENT_KIND_NONE
No event.
Definition: amd-dbgapi.h:6931
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize(void) AMD_DBGAPI_VERSION_0_54
Finalize the library.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_initialize(amd_dbgapi_callbacks_t *callbacks) AMD_DBGAPI_VERSION_0_76
Initialize the library.
amd_dbgapi_log_level_t
The logging levels supported.
Definition: amd-dbgapi.h:7239
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
Print no messages.
Definition: amd-dbgapi.h:7243
@ AMD_DBGAPI_LOG_LEVEL_VERBOSE
Print fatal error, warning, info, API tracing, and verbose messages.
Definition: amd-dbgapi.h:7264
@ AMD_DBGAPI_LOG_LEVEL_INFO
Print fatal error, warning, and info messages.
Definition: amd-dbgapi.h:7256
@ AMD_DBGAPI_LOG_LEVEL_TRACE
Print fatal error, warning, info, and API tracing messages.
Definition: amd-dbgapi.h:7260
@ AMD_DBGAPI_LOG_LEVEL_WARNING
Print fatal error and warning messages.
Definition: amd-dbgapi.h:7252
@ AMD_DBGAPI_LOG_LEVEL_FATAL_ERROR
Print fatal error messages.
Definition: amd-dbgapi.h:7248
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_78
Read memory.
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:5798
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.
uint32_t amd_dbgapi_lane_id_t
A wave lane handle.
Definition: amd-dbgapi.h:5759
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_alu_exceptions_precision(amd_dbgapi_process_id_t process_id, amd_dbgapi_alu_exceptions_precision_t alu_exceptions_precision) AMD_DBGAPI_VERSION_0_77
Control precision of ALU exceptions reporting.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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_78
Write memory.
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
ALU exceptions reporting precision.
Definition: amd-dbgapi.h:6823
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:6188
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_space_get_info(amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_address_space_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_62
Query information about an address space.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_address_space_list(amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count, amd_dbgapi_address_space_id_t **address_spaces) AMD_DBGAPI_VERSION_0_54
Report the list of address spaces supported by the architecture.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
The dependency when reading or writing a specific segment address of an address space using the amd_d...
Definition: amd-dbgapi.h:6319
amd_dbgapi_address_space_access_t
Indication of how the address space is accessed.
Definition: amd-dbgapi.h:5988
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dwarf_address_space_to_address_space(amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space, amd_dbgapi_address_space_id_t *address_space_id) AMD_DBGAPI_VERSION_0_54
Return the address space from an AMD GPU DWARF address space number for an architecture.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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_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
Indication of whether a segment address in an address space is a member of an source language address...
Definition: amd-dbgapi.h:6416
amd_dbgapi_address_space_info_t
Address space queries that are supported by amd_dbgapi_address_space_get_info.
Definition: amd-dbgapi.h:6014
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
Memory access precision.
Definition: amd-dbgapi.h:6749
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_dependency(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, 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_79
Determine the dependency of a segment address value in a particular address space.
@ AMD_DBGAPI_ADDRESS_CLASS_INFO_NAME
Return the source language address class name.
Definition: amd-dbgapi.h:5805
@ 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:5814
@ AMD_DBGAPI_ADDRESS_CLASS_INFO_DWARF
Return the AMD GPU DWARF address class number for the address class' architecture.
Definition: amd-dbgapi.h:5819
@ 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:6828
@ 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:6834
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_PROCESS
Reading or writing the segment address depends on the process.
Definition: amd-dbgapi.h:6343
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_WAVE
Reading or writing the segment address depends on the wavefront.
Definition: amd-dbgapi.h:6331
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_WORKGROUP
Reading or writing the segment address depends on the workgroup.
Definition: amd-dbgapi.h:6335
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_NONE
No dependence is available.
Definition: amd-dbgapi.h:6323
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_LANE
Reading or writing the segment address depends on the lane.
Definition: amd-dbgapi.h:6327
@ AMD_DBGAPI_SEGMENT_ADDRESS_DEPENDENCE_AGENT
Reading or writing the segment address depends on the agent.
Definition: amd-dbgapi.h:6339
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_DISPATCH_CONSTANT
The address space is only read the waves of a kernel dispatch.
Definition: amd-dbgapi.h:6003
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_PROGRAM_CONSTANT
The address space is read only.
Definition: amd-dbgapi.h:5998
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_ALL
The address space supports all accesses.
Definition: amd-dbgapi.h:5993
@ 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:6421
@ 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:6426
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_ACCESS
Return the address space access.
Definition: amd-dbgapi.h:6036
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_DWARF
Return the AMD GPU DWARF address space number for the address space's architecture.
Definition: amd-dbgapi.h:6041
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_ADDRESS_SIZE
Return the byte size of an address in the address space.
Definition: amd-dbgapi.h:6026
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_NULL_ADDRESS
Return the NULL segment address value in the address space.
Definition: amd-dbgapi.h:6031
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_NAME
Return the address space name.
Definition: amd-dbgapi.h:6021
@ 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:6754
@ AMD_DBGAPI_MEMORY_PRECISION_PRECISE
A wave waits for memory instructions to complete before executing further instructions.
Definition: amd-dbgapi.h:6759
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_set_progress(amd_dbgapi_process_id_t process_id, amd_dbgapi_progress_t progress) AMD_DBGAPI_VERSION_0_76
Set the progress required for a process.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_set_wave_creation(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_creation_t creation) AMD_DBGAPI_VERSION_0_76
Set the wave creation mode for a process.
amd_dbgapi_endianness_t
Byte endianness encoding.
Definition: amd-dbgapi.h:1793
amd_dbgapi_wave_creation_t
The kinds of wave creation supported by the hardware.
Definition: amd-dbgapi.h:2188
struct amd_dbgapi_client_process_s * amd_dbgapi_client_process_id_t
Opaque client process handle.
Definition: amd-dbgapi.h:1766
amd_dbgapi_progress_t
The kinds of progress supported by the library.
Definition: amd-dbgapi.h:2111
amd_dbgapi_process_info_t
Process queries that are supported by amd_dbgapi_process_get_info.
Definition: amd-dbgapi.h:1829
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_attach(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_process_id_t *process_id) AMD_DBGAPI_VERSION_0_56
Attach to a process in order to provide debug control of the AMD GPUs it uses.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_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_80
Query information about a process.
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
Encoding is done using little endian.
Definition: amd-dbgapi.h:1798
@ AMD_DBGAPI_ENDIAN_BIG
Encoding is done using big endian.
Definition: amd-dbgapi.h:1795
@ AMD_DBGAPI_WAVE_CREATION_NORMAL
Normal wave creation allows new waves to be created.
Definition: amd-dbgapi.h:2192
@ AMD_DBGAPI_WAVE_CREATION_STOP
Stop wave creation prevents new waves from being created.
Definition: amd-dbgapi.h:2196
@ AMD_DBGAPI_PROGRESS_NO_FORWARD
No forward progress is needed.
Definition: amd-dbgapi.h:2141
@ AMD_DBGAPI_PROGRESS_NORMAL
Normal progress is needed.
Definition: amd-dbgapi.h:2117
@ AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_COUNT
Return the number of data watchpoints supported by the process.
Definition: amd-dbgapi.h:1840
@ AMD_DBGAPI_PROCESS_INFO_SIGNIFICANT_ADDRESS_BITS
Return a bitmask of all the bits which are used in at least one of the address spaces of each of the ...
Definition: amd-dbgapi.h:1891
@ 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:1883
@ 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:1852
@ AMD_DBGAPI_PROCESS_INFO_NOTIFIER
The notifier for the process that indicates if pending events are available.
Definition: amd-dbgapi.h:1834
@ AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_SHARE
Return how watchpoints are shared between processes.
Definition: amd-dbgapi.h:1846
@ AMD_DBGAPI_PROCESS_INFO_OS_ID
Native operating system process ID.
Definition: amd-dbgapi.h:1873
@ 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:1859
amd_dbgapi_queue_state_t
Queue state.
Definition: amd-dbgapi.h:2905
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_queue_list(amd_dbgapi_process_id_t process_id, size_t *queue_count, amd_dbgapi_queue_id_t **queues, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of queues.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_queue_get_info(amd_dbgapi_queue_id_t queue_id, amd_dbgapi_queue_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_68
Query information about a queue.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
A bit mask of the exceptions that can cause a queue to enter the queue error state.
Definition: amd-dbgapi.h:2931
amd_dbgapi_queue_info_t
Queue queries that are supported by amd_dbgapi_queue_get_info.
Definition: amd-dbgapi.h:2809
@ AMD_DBGAPI_QUEUE_STATE_VALID
Queue is in a valid state.
Definition: amd-dbgapi.h:2909
@ AMD_DBGAPI_QUEUE_STATE_ERROR
Queue is in the queue error state.
Definition: amd-dbgapi.h:2923
@ AMD_DBGAPI_EXCEPTION_WAVE_ILLEGAL_INSTRUCTION
A wave on the queue executed an illegal instruction.
Definition: amd-dbgapi.h:2969
@ AMD_DBGAPI_EXCEPTION_PACKET_UNSUPPORTED
A packet on the queue has an unsupported code.
Definition: amd-dbgapi.h:3003
@ 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:2995
@ AMD_DBGAPI_EXCEPTION_WAVE_TRAP
A wave on the queue executed an instruction that caused an exception.
Definition: amd-dbgapi.h:2949
@ AMD_DBGAPI_EXCEPTION_WAVE_ABORT
A wave on the queue executed a trap instruction used to abort a dispatch.
Definition: amd-dbgapi.h:2939
@ AMD_DBGAPI_EXCEPTION_QUEUE_PREEMPTION_ERROR
There was an error preempting the queue.
Definition: amd-dbgapi.h:3024
@ AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_WORKGROUP_SIZE_INVALID
A dispatch packet on the queue has an invalid workgroup size.
Definition: amd-dbgapi.h:3007
@ 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:2965
@ AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_REGISTER_COUNT_TOO_LARGE
A dispatch packet on the queue requires too many registers.
Definition: amd-dbgapi.h:3011
@ AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_CODE_INVALID
A dispatch packet on the queue has a NULL code address.
Definition: amd-dbgapi.h:2999
@ AMD_DBGAPI_EXCEPTION_WAVE_MEMORY_VIOLATION
A wave on the queue had a memory violation.
Definition: amd-dbgapi.h:2975
@ AMD_DBGAPI_EXCEPTION_PACKET_DISPATCH_DIM_INVALID
A dispatch packet on the queue has an invalid dimension.
Definition: amd-dbgapi.h:2991
@ 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:2982
@ AMD_DBGAPI_EXCEPTION_NONE
If none of the bits are set, then the queue is not in the error state.
Definition: amd-dbgapi.h:2935
@ AMD_DBGAPI_EXCEPTION_PACKET_VENDOR_UNSUPPORTED
A packet on the queue has an invalid vendor code.
Definition: amd-dbgapi.h:3015
@ AMD_DBGAPI_QUEUE_INFO_ARCHITECTURE
Return the architecture of this queue.
Definition: amd-dbgapi.h:2824
@ AMD_DBGAPI_QUEUE_INFO_PROCESS
Return the process to which this queue belongs.
Definition: amd-dbgapi.h:2819
@ AMD_DBGAPI_QUEUE_INFO_TYPE
Return the queue type.
Definition: amd-dbgapi.h:2829
@ AMD_DBGAPI_QUEUE_INFO_ADDRESS
Return the base address of the memory holding the queue packets.
Definition: amd-dbgapi.h:2846
@ AMD_DBGAPI_QUEUE_INFO_STATE
Return the queue state.
Definition: amd-dbgapi.h:2834
@ AMD_DBGAPI_QUEUE_INFO_AGENT
Return the agent to which this queue belongs.
Definition: amd-dbgapi.h:2814
@ AMD_DBGAPI_QUEUE_INFO_SIZE
Return the size in bytes of the memory holding the queue packets.
Definition: amd-dbgapi.h:2851
@ 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:2841
@ AMD_DBGAPI_QUEUE_INFO_OS_ID
Native operating system queue ID.
Definition: amd-dbgapi.h:2856
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_list(amd_dbgapi_architecture_id_t architecture_id, size_t *register_count, amd_dbgapi_register_id_t **registers) AMD_DBGAPI_VERSION_0_54
Report the list of registers supported by the architecture.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_register_is_in_register_class(amd_dbgapi_register_class_id_t register_class_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_register_class_state_t *register_class_state) AMD_DBGAPI_VERSION_0_54
Determine if a register is a member of a register class.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
A bit mask on register properties.
Definition: amd-dbgapi.h:5099
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_read_register(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size, void *value) AMD_DBGAPI_VERSION_0_62
Read a register.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_write_register(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size, const void *value) AMD_DBGAPI_VERSION_0_76
Write a register.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
Register queries that are supported by amd_dbgapi_register_get_info.
Definition: amd-dbgapi.h:5133
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
Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info.
Definition: amd-dbgapi.h:4970
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_register_list(amd_dbgapi_wave_id_t wave_id, size_t *register_count, amd_dbgapi_register_id_t **registers) AMD_DBGAPI_VERSION_0_54
Report the list of registers supported by a wave.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
Indication of if a wave has a register.
Definition: amd-dbgapi.h:5279
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_prefetch_register(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_62
Prefetch register values.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
Indication of whether a register is a member of a register class.
Definition: amd-dbgapi.h:5466
@ 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:5123
@ AMD_DBGAPI_REGISTER_PROPERTY_NONE
There are no properties.
Definition: amd-dbgapi.h:5103
@ AMD_DBGAPI_REGISTER_PROPERTY_READONLY_BITS
At least one bit of the register value is readonly.
Definition: amd-dbgapi.h:5109
@ 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:5116
@ AMD_DBGAPI_REGISTER_INFO_ARCHITECTURE
Return the architecture to which this register belongs.
Definition: amd-dbgapi.h:5138
@ AMD_DBGAPI_REGISTER_INFO_NAME
Return the register name.
Definition: amd-dbgapi.h:5145
@ AMD_DBGAPI_REGISTER_INFO_SIZE
Return the size of the register in bytes.
Definition: amd-dbgapi.h:5150
@ AMD_DBGAPI_REGISTER_INFO_PROPERTIES
Return the register's properties.
Definition: amd-dbgapi.h:5225
@ AMD_DBGAPI_REGISTER_INFO_DWARF
Return the AMD GPU DWARF register number for the register's architecture.
Definition: amd-dbgapi.h:5220
@ AMD_DBGAPI_REGISTER_INFO_TYPE
Return the register type as a C style type string.
Definition: amd-dbgapi.h:5211
@ AMD_DBGAPI_REGISTER_CLASS_INFO_ARCHITECTURE
Return the architecture to which this register class belongs.
Definition: amd-dbgapi.h:4975
@ AMD_DBGAPI_REGISTER_CLASS_INFO_NAME
Return the register class name.
Definition: amd-dbgapi.h:4982
@ AMD_DBGAPI_REGISTER_ABSENT
The wave does not have the register.
Definition: amd-dbgapi.h:5283
@ AMD_DBGAPI_REGISTER_PRESENT
The wave has the register.
Definition: amd-dbgapi.h:5287
@ AMD_DBGAPI_REGISTER_CLASS_STATE_NOT_MEMBER
The register is not a member of the register class.
Definition: amd-dbgapi.h:5470
@ AMD_DBGAPI_REGISTER_CLASS_STATE_MEMBER
The register is a member of the register class.
Definition: amd-dbgapi.h:5474
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 debugger API status codes.
Definition: amd-dbgapi.h:848
@ AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_CLASS_ID
The register class handle is invalid.
Definition: amd-dbgapi.h:1019
@ AMD_DBGAPI_STATUS_ERROR_INVALID_LANE_ID
The lane handle is invalid.
Definition: amd-dbgapi.h:1027
@ AMD_DBGAPI_STATUS_ERROR_INVALID_BREAKPOINT_ID
The breakpoint handle is invalid.
Definition: amd-dbgapi.h:1051
@ AMD_DBGAPI_STATUS_ERROR_INVALID_CODE_OBJECT_ID
The code object handle is invalid.
Definition: amd-dbgapi.h:944
@ AMD_DBGAPI_STATUS_ERROR_PROCESS_ALREADY_FROZEN
The process is already frozen.
Definition: amd-dbgapi.h:1084
@ AMD_DBGAPI_STATUS_ERROR_INVALID_WORKGROUP_ID
The workgroup handle is invalid.
Definition: amd-dbgapi.h:1072
@ AMD_DBGAPI_STATUS_ERROR_NO_WATCHPOINT_AVAILABLE
No more watchpoints available.
Definition: amd-dbgapi.h:1015
@ AMD_DBGAPI_STATUS_ERROR_PROCESS_FROZEN
This operation is not allowed when the process is frozen.
Definition: amd-dbgapi.h:1080
@ AMD_DBGAPI_STATUS_ERROR_INVALID_WAVE_ID
The wave handle is invalid.
Definition: amd-dbgapi.h:973
@ AMD_DBGAPI_STATUS_ERROR_MEMORY_ACCESS
An error occurred while trying to access memory in the inferior.
Definition: amd-dbgapi.h:1039
@ AMD_DBGAPI_STATUS_ERROR_ILLEGAL_INSTRUCTION
The bytes being disassembled are not a legal instruction.
Definition: amd-dbgapi.h:940
@ AMD_DBGAPI_STATUS_ERROR_PROCESS_NOT_FROZEN
This operation is not allowed when the process is not frozen.
Definition: amd-dbgapi.h:1088
@ AMD_DBGAPI_STATUS_SUCCESS
The function has executed successfully.
Definition: amd-dbgapi.h:852
@ AMD_DBGAPI_STATUS_ERROR_NOT_SUPPORTED
The operation is not supported.
Definition: amd-dbgapi.h:892
@ AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_ACTIVE
The wave has an active displaced stepping buffer.
Definition: amd-dbgapi.h:1002
@ AMD_DBGAPI_STATUS_ERROR_ALREADY_INITIALIZED
The library is already initialized.
Definition: amd-dbgapi.h:904
@ 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:998
@ AMD_DBGAPI_STATUS_ERROR_WAVE_OUTSTANDING_STOP
The wave has an outstanding stop request.
Definition: amd-dbgapi.h:985
@ AMD_DBGAPI_STATUS_ERROR_INVALID_AGENT_ID
The agent handle is invalid.
Definition: amd-dbgapi.h:961
@ AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED
The library is not initialized.
Definition: amd-dbgapi.h:908
@ AMD_DBGAPI_STATUS_ERROR_SYMBOL_NOT_FOUND
The symbol was not found.
Definition: amd-dbgapi.h:1063
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT_COMPATIBILITY
An invalid combination of arguments was given to the function.
Definition: amd-dbgapi.h:900
@ AMD_DBGAPI_STATUS_ERROR_INVALID_WATCHPOINT_ID
The watchpoint handle is invalid.
Definition: amd-dbgapi.h:1011
@ 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:1007
@ AMD_DBGAPI_STATUS_ERROR_INCOMPATIBLE_PROCESS_STATE
The current process state is not compatible with the requested operation.
Definition: amd-dbgapi.h:1076
@ AMD_DBGAPI_STATUS_ERROR_PROCESS_EXITED
The native operating system process associated with a client process has exited.
Definition: amd-dbgapi.h:957
@ AMD_DBGAPI_STATUS_ERROR_INVALID_CLIENT_PROCESS_ID
The client process handle is invalid.
Definition: amd-dbgapi.h:1059
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARCHITECTURE_ID
The architecture handle is invalid.
Definition: amd-dbgapi.h:936
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT
An invalid argument was given to the function.
Definition: amd-dbgapi.h:896
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_CLASS_ID
The address class handle is invalid.
Definition: amd-dbgapi.h:1031
@ AMD_DBGAPI_STATUS_ERROR_INVALID_EVENT_ID
The event handle is invalid.
Definition: amd-dbgapi.h:1047
@ AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_STOPPED
The wave is not stopped.
Definition: amd-dbgapi.h:977
@ AMD_DBGAPI_STATUS_ERROR_WAVE_STOPPED
The wave is stopped.
Definition: amd-dbgapi.h:981
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_ID
The address space handle is invalid.
Definition: amd-dbgapi.h:1035
@ AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID
The process handle is invalid.
Definition: amd-dbgapi.h:952
@ AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_RESUMABLE
The wave cannot be resumed.
Definition: amd-dbgapi.h:989
@ AMD_DBGAPI_STATUS_ERROR_MEMORY_UNAVAILABLE
The requested memory location is valid but currently unreachable.
Definition: amd-dbgapi.h:1092
@ AMD_DBGAPI_STATUS_ERROR_NOT_IMPLEMENTED
The operation is not currently implemented.
Definition: amd-dbgapi.h:884
@ AMD_DBGAPI_STATUS_ERROR_RESTRICTION
There is a restriction error that prevents the operation to complete.
Definition: amd-dbgapi.h:928
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_CONVERSION
The segment address cannot be converted to the requested address space.
Definition: amd-dbgapi.h:1043
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ELF_AMDGPU_MACHINE
The ELF AMD GPU machine value is invalid or unsupported.
Definition: amd-dbgapi.h:948
@ AMD_DBGAPI_STATUS_FATAL
A fatal error has occurred.
Definition: amd-dbgapi.h:878
@ AMD_DBGAPI_STATUS_ERROR_INVALID_DISPLACED_STEPPING_ID
The displaced stepping handle is invalid.
Definition: amd-dbgapi.h:993
@ AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK
A callback to the client reported an error.
Definition: amd-dbgapi.h:1055
@ AMD_DBGAPI_STATUS_ERROR_NOT_AVAILABLE
The requested information is not available.
Definition: amd-dbgapi.h:888
@ AMD_DBGAPI_STATUS_ERROR_ALREADY_ATTACHED
The process is already attached to the given inferior process.
Definition: amd-dbgapi.h:932
@ AMD_DBGAPI_STATUS_ERROR_INVALID_QUEUE_ID
The queue handle is invalid.
Definition: amd-dbgapi.h:965
@ AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_ID
The register handle is invalid.
Definition: amd-dbgapi.h:1023
@ AMD_DBGAPI_STATUS_ERROR_INVALID_DISPATCH_ID
The dispatch handle is invalid.
Definition: amd-dbgapi.h:969
@ 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:1068
@ AMD_DBGAPI_STATUS_ERROR
A generic error has occurred.
Definition: amd-dbgapi.h:856
#define AMD_DBGAPI_VERSION_0_58
The function was introduced in version 0.58 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:606
#define AMD_DBGAPI_VERSION_0_56
The function was introduced in version 0.56 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:600
#define AMD_DBGAPI_VERSION_0_67
The function was introduced in version 0.67 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:624
#define AMD_DBGAPI_VERSION_0_62
The function was introduced in version 0.62 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:612
#define AMD_DBGAPI_VERSION_0_80
The function was introduced in version 0.80 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:666
#define AMD_DBGAPI_VERSION_0_54
The function was introduced in version 0.54 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:594
#define AMD_DBGAPI_VERSION_0_76
The function was introduced in version 0.76 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:642
#define AMD_DBGAPI_VERSION_0_64
The function was introduced in version 0.64 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:618
#define AMD_DBGAPI_VERSION_0_77
The function was introduced in version 0.77 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:648
#define AMD_DBGAPI_VERSION_0_70
The function was introduced in version 0.70 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:636
#define AMD_DBGAPI_VERSION_0_78
The function was introduced in version 0.78 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:654
#define AMD_DBGAPI_VERSION_0_68
The function was introduced in version 0.68 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:630
#define AMD_DBGAPI_VERSION_0_79
The function was introduced in version 0.79 of the interface and has the symbol version string of "@A...
Definition: amd-dbgapi.h:660
void AMD_DBGAPI amd_dbgapi_get_version(uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_54
Query the version of the installed library.
const char AMD_DBGAPI * amd_dbgapi_get_build_name(void) AMD_DBGAPI_VERSION_0_54
Query the installed library build name.
amd_dbgapi_watchpoint_info_t
Watchpoint queries that are supported by amd_dbgapi_watchpoint_get_info.
Definition: amd-dbgapi.h:4702
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
Watchpoint memory access kinds.
Definition: amd-dbgapi.h:4796
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_watchpoint(amd_dbgapi_process_id_t process_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t size, amd_dbgapi_watchpoint_kind_t kind, amd_dbgapi_watchpoint_id_t *watchpoint_id) AMD_DBGAPI_VERSION_0_76
Set a hardware data watchpoint.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
The way watchpoints are shared between processes.
Definition: amd-dbgapi.h:4770
@ AMD_DBGAPI_WATCHPOINT_INFO_PROCESS
Return the process to which this watchpoint belongs.
Definition: amd-dbgapi.h:4707
@ AMD_DBGAPI_WATCHPOINT_INFO_SIZE
The byte size of the created watchpoint.
Definition: amd-dbgapi.h:4717
@ AMD_DBGAPI_WATCHPOINT_INFO_ADDRESS
The base address of the created watchpoint.
Definition: amd-dbgapi.h:4712
@ AMD_DBGAPI_WATCHPOINT_KIND_STORE_AND_RMW
Write access by store instructions or read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4805
@ AMD_DBGAPI_WATCHPOINT_KIND_ALL
Read, write, or read-modify-write access by load, store, or atomic instructions.
Definition: amd-dbgapi.h:4814
@ AMD_DBGAPI_WATCHPOINT_KIND_LOAD
Read access by load instructions.
Definition: amd-dbgapi.h:4800
@ AMD_DBGAPI_WATCHPOINT_KIND_RMW
Read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4809
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSHARED
The watchpoints are not shared across processes.
Definition: amd-dbgapi.h:4780
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_SHARED
The watchpoints of a process are shared between all processes.
Definition: amd-dbgapi.h:4786
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSUPPORTED
Watchpoints are not supported.
Definition: amd-dbgapi.h:4774
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
The execution state of a wave.
Definition: amd-dbgapi.h:3798
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_stop(amd_dbgapi_wave_id_t wave_id) AMD_DBGAPI_VERSION_0_76
Request a wave to stop executing.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
The mode in which to resuming the execution of a wave.
Definition: amd-dbgapi.h:4162
amd_dbgapi_wave_stop_reasons_t
A bit mask of the reasons that a wave stopped.
Definition: amd-dbgapi.h:3830
amd_dbgapi_wave_info_t
Wave queries that are supported by amd_dbgapi_wave_get_info.
Definition: amd-dbgapi.h:3634
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
The wave is stopped.
Definition: amd-dbgapi.h:3820
@ AMD_DBGAPI_WAVE_STATE_SINGLE_STEP
The wave is running in single-step mode.
Definition: amd-dbgapi.h:3807
@ AMD_DBGAPI_WAVE_STATE_RUN
The wave is running.
Definition: amd-dbgapi.h:3802
@ AMD_DBGAPI_RESUME_MODE_SINGLE_STEP
Resume execution in in single step mode.
Definition: amd-dbgapi.h:4170
@ AMD_DBGAPI_RESUME_MODE_NORMAL
Resume normal execution.
Definition: amd-dbgapi.h:4166
@ 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:3873
@ AMD_DBGAPI_WAVE_STOP_REASON_WATCHPOINT
The wave stopped due to triggering a data watchpoint.
Definition: amd-dbgapi.h:3853
@ AMD_DBGAPI_WAVE_STOP_REASON_MEMORY_VIOLATION
The wave stopped due to a memory violation.
Definition: amd-dbgapi.h:3970
@ AMD_DBGAPI_WAVE_STOP_REASON_SINGLE_STEP
The wave stopped due to completing an instruction single-step.
Definition: amd-dbgapi.h:3857
@ AMD_DBGAPI_WAVE_STOP_REASON_ILLEGAL_INSTRUCTION
The wave stopped due to executing an illegal instruction.
Definition: amd-dbgapi.h:3999
@ AMD_DBGAPI_WAVE_STOP_REASON_DEBUG_TRAP
The wave stopped due to executing a debug trap instruction.
Definition: amd-dbgapi.h:3928
@ 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:3865
@ AMD_DBGAPI_WAVE_STOP_REASON_ECC_ERROR
The wave stopped due to detecting an unrecoverable ECC error.
Definition: amd-dbgapi.h:4012
@ AMD_DBGAPI_WAVE_STOP_REASON_FATAL_HALT
The wave stopped after causing a hardware fatal halt.
Definition: amd-dbgapi.h:4019
@ AMD_DBGAPI_WAVE_STOP_REASON_ASSERT_TRAP
The wave stopped due to executing an assert trap instruction.
Definition: amd-dbgapi.h:3944
@ 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:3835
@ AMD_DBGAPI_WAVE_STOP_REASON_BREAKPOINT
The wave stopped due to executing a breakpoint instruction.
Definition: amd-dbgapi.h:3841
@ 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:3905
@ AMD_DBGAPI_WAVE_STOP_REASON_ADDRESS_ERROR
The wave stopped due to an aperture violation.
Definition: amd-dbgapi.h:3985
@ 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:3954
@ 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:3913
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_UNDERFLOW
The wave stopped due to triggering an enabled floating point underflow exception.
Definition: amd-dbgapi.h:3889
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_INEXACT
The wave stopped due to triggering an enabled floating point inexact exception.
Definition: amd-dbgapi.h:3897
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_OVERFLOW
The wave stopped due to triggering an enabled floating point overflow exception.
Definition: amd-dbgapi.h:3881
@ AMD_DBGAPI_WAVE_INFO_ARCHITECTURE
Return the architecture of this wave.
Definition: amd-dbgapi.h:3699
@ AMD_DBGAPI_WAVE_INFO_DISPATCH
Return the dispatch to which this wave belongs.
Definition: amd-dbgapi.h:3679
@ AMD_DBGAPI_WAVE_INFO_QUEUE
Return the queue to which this wave belongs.
Definition: amd-dbgapi.h:3684
@ AMD_DBGAPI_WAVE_INFO_EXEC_MASK
Return the current execution mask of the wave.
Definition: amd-dbgapi.h:3713
@ AMD_DBGAPI_WAVE_INFO_WORKGROUP
Return the workgroup to which this wave belongs.
Definition: amd-dbgapi.h:3669
@ AMD_DBGAPI_WAVE_INFO_WAVE_NUMBER_IN_WORKGROUP
The wave's number in the workgroup.
Definition: amd-dbgapi.h:3736
@ AMD_DBGAPI_WAVE_INFO_STATE
Return the wave's state.
Definition: amd-dbgapi.h:3639
@ AMD_DBGAPI_WAVE_INFO_PROCESS
Return the process to which this wave belongs.
Definition: amd-dbgapi.h:3694
@ AMD_DBGAPI_WAVE_INFO_AGENT
Return the agent to which this wave belongs.
Definition: amd-dbgapi.h:3689
@ AMD_DBGAPI_WAVE_INFO_WORKGROUP_COORD
The wave workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3724
@ AMD_DBGAPI_WAVE_INFO_WATCHPOINTS
Return the watchpoint(s) the wave triggered.
Definition: amd-dbgapi.h:3659
@ AMD_DBGAPI_WAVE_INFO_LANE_COUNT
The number of lanes supported by the wave.
Definition: amd-dbgapi.h:3741
@ AMD_DBGAPI_WAVE_INFO_PC
Return the current program counter value of the wave.
Definition: amd-dbgapi.h:3705
@ AMD_DBGAPI_WAVE_INFO_STOP_REASON
Return the reason the wave stopped as a bit set.
Definition: amd-dbgapi.h:3646
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_workgroup_list(amd_dbgapi_process_id_t process_id, size_t *workgroup_count, amd_dbgapi_workgroup_id_t **workgroups, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_64
Return the list of existing workgroups.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_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
Workgroup queries that are supported by amd_dbgapi_workgroup_get_info.
Definition: amd-dbgapi.h:3456
@ AMD_DBGAPI_WORKGROUP_INFO_QUEUE
Return the queue to which this workgroup belongs.
Definition: amd-dbgapi.h:3471
@ AMD_DBGAPI_WORKGROUP_INFO_ARCHITECTURE
Return the architecture of this workgroup.
Definition: amd-dbgapi.h:3486
@ AMD_DBGAPI_WORKGROUP_INFO_WORKGROUP_COORD
The workgroup workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3497
@ AMD_DBGAPI_WORKGROUP_INFO_DISPATCH
Return the dispatch to which this workgroup belongs.
Definition: amd-dbgapi.h:3466
@ AMD_DBGAPI_WORKGROUP_INFO_PROCESS
Return the process to which this workgroup belongs.
Definition: amd-dbgapi.h:3481
@ AMD_DBGAPI_WORKGROUP_INFO_AGENT
Return the agent to which this workgroup belongs.
Definition: amd-dbgapi.h:3476
Opaque source language address class handle.
Definition: amd-dbgapi.h:5780
uint64_t handle
Definition: amd-dbgapi.h:5781
Opaque address space handle.
Definition: amd-dbgapi.h:5965
uint64_t handle
Definition: amd-dbgapi.h:5966
Opaque agent handle.
Definition: amd-dbgapi.h:2558
uint64_t handle
Definition: amd-dbgapi.h:2559
Opaque architecture handle.
Definition: amd-dbgapi.h:1270
uint64_t handle
Definition: amd-dbgapi.h:1271
Opaque breakpoint handle.
Definition: amd-dbgapi.h:7314
uint64_t handle
Definition: amd-dbgapi.h:7315
Callbacks that the client of the library must provide.
Definition: amd-dbgapi.h:7488
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:7630
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:7595
void(* deallocate_memory)(void *data)
Deallocate memory that was allocated by amd_dbgapi_callbacks_s::allocate_memory.
Definition: amd-dbgapi.h:7519
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:7555
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:7670
void(* log_message)(amd_dbgapi_log_level_t level, const char *message)
Report a log message.
Definition: amd-dbgapi.h:7684
Opaque code object handle.
Definition: amd-dbgapi.h:2357
uint64_t handle
Definition: amd-dbgapi.h:2358
AMDGPU corefile state data for a process.
Definition: amd-dbgapi.h:1805
size_t size
Size, in bytes, of the buffer pointed by amd_dbgapi_core_state_data_t::data.
Definition: amd-dbgapi.h:1811
amd_dbgapi_endianness_t endianness
Endianness encoding of the core state.
Definition: amd-dbgapi.h:1807
const void * data
Pointer to the buffer containing the core state data.
Definition: amd-dbgapi.h:1819
Instruction information for direct call instructions.
Definition: amd-dbgapi.h:5715
amd_dbgapi_global_address_t target_address
Definition: amd-dbgapi.h:5716
Opaque dispatch handle.
Definition: amd-dbgapi.h:3172
uint64_t handle
Definition: amd-dbgapi.h:3173
Opaque displaced stepping handle.
Definition: amd-dbgapi.h:4433
uint64_t handle
Definition: amd-dbgapi.h:4434
Opaque event handle.
Definition: amd-dbgapi.h:6913
uint64_t handle
Definition: amd-dbgapi.h:6914
Opaque process handle.
Definition: amd-dbgapi.h:1779
uint64_t handle
Definition: amd-dbgapi.h:1780
Opaque queue handle.
Definition: amd-dbgapi.h:2792
uint64_t handle
Definition: amd-dbgapi.h:2793
Opaque register class handle.
Definition: amd-dbgapi.h:4952
uint64_t handle
Definition: amd-dbgapi.h:4953
Opaque register handle.
Definition: amd-dbgapi.h:5082
uint64_t handle
Definition: amd-dbgapi.h:5083
Opaque hardware data watchpoint handle.
Definition: amd-dbgapi.h:4685
uint64_t handle
Definition: amd-dbgapi.h:4686
A set of watchpoints.
Definition: amd-dbgapi.h:4824
amd_dbgapi_watchpoint_id_t * watchpoint_ids
Definition: amd-dbgapi.h:4826
size_t count
Definition: amd-dbgapi.h:4825
Opaque wave handle.
Definition: amd-dbgapi.h:3617
uint64_t handle
Definition: amd-dbgapi.h:3618
Opaque workgroup handle.
Definition: amd-dbgapi.h:3439
uint64_t handle
Definition: amd-dbgapi.h:3440