AMD_DBGAPI  0.77.3
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 
475 #ifndef AMD_DBGAPI_H
476 #define AMD_DBGAPI_H 1
477 
478 /* Placeholder for calling convention and import/export macros */
479 #if !defined(AMD_DBGAPI_CALL)
480 #define AMD_DBGAPI_CALL
481 #endif /* !defined (AMD_DBGAPI_CALL) */
482 
483 #if !defined(AMD_DBGAPI_EXPORT_DECORATOR)
484 #if defined(__GNUC__)
485 #define AMD_DBGAPI_EXPORT_DECORATOR __attribute__ ((visibility ("default")))
486 #elif defined(_MSC_VER)
487 #define AMD_DBGAPI_EXPORT_DECORATOR __declspec(dllexport)
488 #endif /* defined (_MSC_VER) */
489 #endif /* !defined (AMD_DBGAPI_EXPORT_DECORATOR) */
490 
491 #if !defined(AMD_DBGAPI_IMPORT_DECORATOR)
492 #if defined(__GNUC__)
493 #define AMD_DBGAPI_IMPORT_DECORATOR
494 #elif defined(_MSC_VER)
495 #define AMD_DBGAPI_IMPORT_DECORATOR __declspec(dllimport)
496 #endif /* defined (_MSC_VER) */
497 #endif /* !defined (AMD_DBGAPI_IMPORT_DECORATOR) */
498 
499 #define AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL
500 #define AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL
501 
502 #if !defined(AMD_DBGAPI)
503 #if defined(AMD_DBGAPI_EXPORTS)
504 #define AMD_DBGAPI AMD_DBGAPI_EXPORT
505 #else /* !defined (AMD_DBGAPI_EXPORTS) */
506 #define AMD_DBGAPI AMD_DBGAPI_IMPORT
507 #endif /* !defined (AMD_DBGAPI_EXPORTS) */
508 #endif /* !defined (AMD_DBGAPI) */
509 
510 #if __cplusplus >= 201103L
511 /* c++11 allows extended initializer lists. */
512 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) (type{ value })
513 #elif __STDC_VERSION__ >= 199901L
514 /* c99 allows compound literals. */
515 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) ((type){ value })
516 #else /* !__STDC_VERSION__ >= 199901L */
517 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) {value}
518 #endif /* !__STDC_VERSION__ >= 199901L */
519 
520 #if defined(__cplusplus) && __cplusplus >= 201402L
521 #define DEPRECATED [[deprecated]]
522 #else
523 #define DEPRECATED
524 #endif
525 
526 #if defined(__cplusplus)
527 extern "C" {
528 #endif /* defined (__cplusplus) */
529 
530 #if defined(__linux__)
531 #include <sys/types.h>
532 #endif /* __linux__ */
533 
534 #include <stddef.h>
535 #include <stdint.h>
536 
556 #define AMD_DBGAPI_VERSION_0_54
557 
562 #define AMD_DBGAPI_VERSION_0_56
563 
568 #define AMD_DBGAPI_VERSION_0_58
569 
574 #define AMD_DBGAPI_VERSION_0_62
575 
580 #define AMD_DBGAPI_VERSION_0_64
581 
586 #define AMD_DBGAPI_VERSION_0_67
587 
592 #define AMD_DBGAPI_VERSION_0_68
593 
598 #define AMD_DBGAPI_VERSION_0_70
599 
604 #define AMD_DBGAPI_VERSION_0_76
605 
610 #define AMD_DBGAPI_VERSION_0_77
611 
619 
643 
647 typedef uint64_t amd_dbgapi_size_t;
648 
652 typedef enum
653 {
663 
671 #if defined(__linux__)
673 #endif /* __linux__ */
674 
699 #if defined(__linux__)
701 #endif /* __linux__ */
702 
710 #if defined(__linux__)
711 typedef uint64_t amd_dbgapi_os_agent_id_t;
712 #endif /* __linux__ */
713 
720 #if defined(__linux__)
721 typedef uint64_t amd_dbgapi_os_queue_id_t;
722 #endif /* __linux__ */
723 
732 #if defined(__linux__)
734 #endif /* __linux__ */
735 
743 #if defined(__linux__)
744 typedef enum
745 {
767 #endif /* __linux__ */
768 
781 typedef enum
782 {
1024 
1042  amd_dbgapi_status_t status,
1043  const char **status_string) AMD_DBGAPI_VERSION_0_54;
1044 
1068 #define AMD_DBGAPI_VERSION_MAJOR 0
1069 
1074 #define AMD_DBGAPI_VERSION_MINOR 77
1075 
1090  uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_54;
1091 
1100 const char AMD_DBGAPI *
1101 amd_dbgapi_get_build_name (void) AMD_DBGAPI_VERSION_0_54;
1102 
1150 
1176  AMD_DBGAPI_VERSION_0_54;
1177 
1199 typedef struct
1200 {
1201  uint64_t handle;
1203 
1207 #define AMD_DBGAPI_ARCHITECTURE_NONE \
1208  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_architecture_id_t, 0)
1209 
1217 typedef enum
1218 {
1270 
1310  amd_dbgapi_architecture_id_t architecture_id,
1311  amd_dbgapi_architecture_info_t query, size_t value_size,
1312  void *value) AMD_DBGAPI_VERSION_0_54;
1313 
1343  uint32_t elf_amdgpu_machine,
1345 
1352 typedef struct amd_dbgapi_symbolizer_id_s *amd_dbgapi_symbolizer_id_t;
1353 
1448  amd_dbgapi_architecture_id_t architecture_id,
1449  amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1450  const void *memory, char **instruction_text,
1451  amd_dbgapi_symbolizer_id_t symbolizer_id,
1452  amd_dbgapi_status_t (*symbolizer) (
1453  amd_dbgapi_symbolizer_id_t symbolizer_id,
1454  amd_dbgapi_global_address_t address,
1455  char **symbol_text)) AMD_DBGAPI_VERSION_0_54;
1456 
1460 typedef enum
1461 {
1572 
1576 typedef enum
1577 {
1583 
1659  amd_dbgapi_architecture_id_t architecture_id,
1660  amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1661  const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind,
1662  amd_dbgapi_instruction_properties_t *instruction_properties,
1663  void **instruction_information) AMD_DBGAPI_VERSION_0_58;
1664 
1686 typedef struct amd_dbgapi_client_process_s *amd_dbgapi_client_process_id_t;
1687 
1698 typedef struct
1699 {
1700  uint64_t handle;
1702 
1706 #define AMD_DBGAPI_PROCESS_NONE \
1707  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_process_id_t, 0)
1708 
1712 typedef enum
1713 {
1716 
1720 
1724 typedef struct
1725 {
1731  size_t size;
1739  const void *data;
1741 
1748 typedef enum
1749 {
1805 
1857  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_77;
1858 
1956  amd_dbgapi_client_process_id_t client_process_id,
1958 
2007 
2022 typedef enum
2023 {
2055 
2085  amd_dbgapi_process_id_t process_id,
2087 
2099 typedef enum
2100 {
2110 
2140  amd_dbgapi_process_id_t process_id,
2142 
2213 
2240 
2268 typedef struct
2269 {
2270  uint64_t handle;
2272 
2276 #define AMD_DBGAPI_CODE_OBJECT_NONE \
2277  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_code_object_id_t, 0)
2278 
2285 typedef enum
2286 {
2355 
2395  amd_dbgapi_code_object_id_t code_object_id,
2396  amd_dbgapi_code_object_info_t query, size_t value_size,
2397  void *value) AMD_DBGAPI_VERSION_0_54;
2398 
2449  amd_dbgapi_process_id_t process_id, size_t *code_object_count,
2450  amd_dbgapi_code_object_id_t **code_objects,
2452 
2469 typedef struct
2470 {
2471  uint64_t handle;
2473 
2477 #define AMD_DBGAPI_AGENT_NONE \
2478  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_agent_id_t, 0)
2479 
2486 typedef enum
2487 {
2548 
2552 typedef enum
2553 {
2582 
2627  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_67;
2628 
2681  amd_dbgapi_process_id_t process_id, size_t *agent_count,
2682  amd_dbgapi_agent_id_t **agents,
2684 
2703 typedef struct
2704 {
2705  uint64_t handle;
2707 
2711 #define AMD_DBGAPI_QUEUE_NONE \
2712  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_queue_id_t, 0)
2713 
2720 typedef enum
2721 {
2770 
2811  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_68;
2812 
2816 typedef enum
2817 {
2837 
2842 typedef enum
2843 {
2898  AMD_DBGAPI_EXCEPTION_WAVE_APERTURE_VIOLATION DEPRECATED
2938 
2992  amd_dbgapi_process_id_t process_id, size_t *queue_count,
2993  amd_dbgapi_queue_id_t **queues,
2995 
3060  amd_dbgapi_queue_id_t queue_id,
3061  amd_dbgapi_os_queue_packet_id_t *read_packet_id,
3062  amd_dbgapi_os_queue_packet_id_t *write_packet_id,
3063  size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_54;
3064 
3083 typedef struct
3084 {
3085  uint64_t handle;
3087 
3091 #define AMD_DBGAPI_DISPATCH_NONE \
3092  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_dispatch_id_t, 0)
3093 
3100 typedef enum
3101 {
3194 
3238  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
3239 
3246 typedef enum
3247 {
3258 
3265 typedef enum
3266 {
3280 
3330  amd_dbgapi_process_id_t process_id, size_t *dispatch_count,
3331  amd_dbgapi_dispatch_id_t **dispatches,
3333 
3350 typedef struct
3351 {
3352  uint64_t handle;
3354 
3358 #define AMD_DBGAPI_WORKGROUP_NONE \
3359  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0)
3360 
3367 typedef enum
3368 {
3411 
3456  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3457 
3508  amd_dbgapi_process_id_t process_id, size_t *workgroup_count,
3509  amd_dbgapi_workgroup_id_t **workgroups,
3511 
3528 typedef struct
3529 {
3530  uint64_t handle;
3532 
3536 #define AMD_DBGAPI_WAVE_NONE \
3537  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_wave_id_t, 0)
3538 
3545 typedef enum
3546 {
3655 
3704  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3705 
3709 typedef enum
3710 {
3734 
3741 typedef enum
3742 {
3901  AMD_DBGAPI_WAVE_STOP_REASON_APERTURE_VIOLATION DEPRECATED
3933 
3982  amd_dbgapi_process_id_t process_id, size_t *wave_count,
3983  amd_dbgapi_wave_id_t **waves,
3985 
4069 
4073 typedef enum
4074 {
4084 
4240  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode,
4242 
4344 typedef struct
4345 {
4346  uint64_t handle;
4348 
4352 #define AMD_DBGAPI_DISPLACED_STEPPING_NONE \
4353  (amd_dbgapi_displaced_stepping_id_t{ 0 })
4354 
4362 typedef enum
4363 {
4370 
4411  amd_dbgapi_displaced_stepping_id_t displaced_stepping_id,
4412  amd_dbgapi_displaced_stepping_info_t query, size_t value_size,
4413  void *value) AMD_DBGAPI_VERSION_0_54;
4414 
4501  amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes,
4502  amd_dbgapi_displaced_stepping_id_t *displaced_stepping)
4504 
4559  amd_dbgapi_wave_id_t wave_id,
4560  amd_dbgapi_displaced_stepping_id_t displaced_stepping)
4562 
4596 typedef struct
4597 {
4598  uint64_t handle;
4600 
4604 #define AMD_DBGAPI_WATCHPOINT_NONE \
4605  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_watchpoint_id_t, 0)
4606 
4613 typedef enum
4614 {
4631 
4671  amd_dbgapi_watchpoint_id_t watchpoint_id,
4672  amd_dbgapi_watchpoint_info_t query, size_t value_size,
4673  void *value) AMD_DBGAPI_VERSION_0_54;
4674 
4681 typedef enum
4682 {
4700 
4707 typedef enum
4708 {
4728 
4735 typedef struct
4736 {
4737  size_t count;
4740 
4813  amd_dbgapi_process_id_t process_id, amd_dbgapi_global_address_t address,
4814  amd_dbgapi_size_t size, amd_dbgapi_watchpoint_kind_t kind,
4816 
4841 
4863 typedef struct
4864 {
4865  uint64_t handle;
4867 
4871 #define AMD_DBGAPI_REGISTER_CLASS_NONE \
4872  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_class_id_t, 0)
4873 
4881 typedef enum
4882 {
4896 
4937  amd_dbgapi_register_class_id_t register_class_id,
4938  amd_dbgapi_register_class_info_t query, size_t value_size,
4939  void *value) AMD_DBGAPI_VERSION_0_54;
4940 
4982  amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count,
4984 
4993 typedef struct
4994 {
4995  uint64_t handle;
4997 
5001 #define AMD_DBGAPI_REGISTER_NONE \
5002  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_id_t, 0)
5003 
5010 typedef enum
5011 {
5037 
5044 typedef enum
5045 {
5139 
5185  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_70;
5186 
5190 typedef enum
5191 {
5201 
5236  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5238 
5284  amd_dbgapi_architecture_id_t architecture_id, size_t *register_count,
5286 
5331  amd_dbgapi_wave_id_t wave_id, size_t *register_count,
5333 
5371  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register,
5373 
5377 typedef enum
5378 {
5388 
5427  amd_dbgapi_register_class_id_t register_class_id,
5428  amd_dbgapi_register_id_t register_id,
5429  amd_dbgapi_register_class_state_t *register_class_state)
5431 
5489  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5490  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5491  void *value) AMD_DBGAPI_VERSION_0_62;
5492 
5558  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5559  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5560  const void *value) AMD_DBGAPI_VERSION_0_76;
5561 
5616  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5617  amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_62;
5618 
5626 typedef struct
5627 {
5628  amd_dbgapi_global_address_t target_address;
5629  amd_dbgapi_register_id_t saved_return_address_register[2];
5631 
5671 typedef uint32_t amd_dbgapi_lane_id_t;
5672 
5676 #define AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1))
5677 
5691 typedef struct
5692 {
5693  uint64_t handle;
5695 
5699 #define AMD_DBGAPI_ADDRESS_CLASS_NONE \
5700  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_class_id_t, 0)
5701 
5709 typedef enum
5710 {
5733 
5774  amd_dbgapi_address_class_id_t address_class_id,
5775  amd_dbgapi_address_class_info_t query, size_t value_size,
5776  void *value) AMD_DBGAPI_VERSION_0_62;
5777 
5820  amd_dbgapi_architecture_id_t architecture_id, size_t *address_class_count,
5822 
5862  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_class,
5864 
5876 typedef struct
5877 {
5878  uint64_t handle;
5880 
5884 #define AMD_DBGAPI_ADDRESS_SPACE_NONE \
5885  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 0)
5886 
5893 #define AMD_DBGAPI_ADDRESS_SPACE_GLOBAL \
5894  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 1)
5895 
5899 typedef enum
5900 {
5917 
5925 typedef enum
5926 {
5955 
5995  amd_dbgapi_address_space_id_t address_space_id,
5996  amd_dbgapi_address_space_info_t query, size_t value_size,
5997  void *value) AMD_DBGAPI_VERSION_0_62;
5998 
6038  amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count,
6040 
6081  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space,
6083 
6101 
6217  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6218  amd_dbgapi_address_space_id_t source_address_space_id,
6219  amd_dbgapi_segment_address_t source_segment_address,
6220  amd_dbgapi_address_space_id_t destination_address_space_id,
6221  amd_dbgapi_segment_address_t *destination_segment_address,
6222  amd_dbgapi_size_t *destination_contiguous_bytes)
6224 
6230 typedef enum
6231 {
6257 
6297  amd_dbgapi_address_space_id_t address_space_id,
6298  amd_dbgapi_segment_address_t segment_address,
6299  amd_dbgapi_segment_address_dependency_t *segment_address_dependency)
6301 
6306 typedef enum
6307 {
6319 
6392  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6393  amd_dbgapi_address_space_id_t address_space_id,
6394  amd_dbgapi_segment_address_t segment_address,
6395  amd_dbgapi_address_class_id_t address_class_id,
6396  amd_dbgapi_address_class_state_t *address_class_state)
6398 
6498  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6499  amd_dbgapi_lane_id_t lane_id,
6500  amd_dbgapi_address_space_id_t address_space_id,
6501  amd_dbgapi_segment_address_t segment_address,
6502  amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_54;
6503 
6607  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6608  amd_dbgapi_lane_id_t lane_id,
6609  amd_dbgapi_address_space_id_t address_space_id,
6610  amd_dbgapi_segment_address_t segment_address,
6611  amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_76;
6612 
6631 typedef enum
6632 {
6644 
6684  amd_dbgapi_process_id_t process_id,
6686 
6705 typedef enum
6706 {
6719 
6760  amd_dbgapi_process_id_t process_id,
6761  amd_dbgapi_alu_exceptions_precision_t alu_exceptions_precision)
6763 
6795 typedef struct
6796 {
6797  uint64_t handle;
6799 
6803 #define AMD_DBGAPI_EVENT_NONE \
6804  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_event_id_t, 0)
6805 
6809 typedef enum
6810 {
6919 
6956  amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id,
6958 
6962 typedef enum
6963 {
6980 
6987 typedef enum
6988 {
7028 
7070  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
7071 
7099 
7121 typedef enum
7122 {
7149 
7170 
7196 typedef struct
7197 {
7198  uint64_t handle;
7200 
7204 #define AMD_DBGAPI_BREAKPOINT_NONE \
7205  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0)
7206 
7213 typedef enum
7214 {
7221 
7261  amd_dbgapi_breakpoint_id_t breakpoint_id,
7262  amd_dbgapi_breakpoint_info_t query, size_t value_size,
7263  void *value) AMD_DBGAPI_VERSION_0_54;
7264 
7268 typedef enum
7269 {
7279 
7289 typedef struct amd_dbgapi_client_thread_s *amd_dbgapi_client_thread_id_t;
7290 
7329  amd_dbgapi_breakpoint_id_t breakpoint_id,
7330  amd_dbgapi_client_thread_id_t client_thread_id,
7332 
7339 typedef enum
7340 {
7363 
7371 {
7372 
7384  void *(*allocate_memory) (size_t byte_size);
7385 
7402  void (*deallocate_memory) (void *data);
7403 
7439  amd_dbgapi_client_process_id_t client_process_id,
7441  size_t value_size, void *value);
7442 
7479  amd_dbgapi_client_process_id_t client_process_id,
7480  amd_dbgapi_global_address_t address,
7481  amd_dbgapi_breakpoint_id_t breakpoint_id);
7482 
7514  amd_dbgapi_client_process_id_t client_process_id,
7515  amd_dbgapi_breakpoint_id_t breakpoint_id);
7516 
7554  amd_dbgapi_client_process_id_t client_process_id,
7555  amd_dbgapi_global_address_t global_address,
7556  amd_dbgapi_size_t *value_size, void *read_buffer,
7557  const void *write_buffer);
7558 
7567  void (*log_message) (amd_dbgapi_log_level_t level, const char *message);
7568 };
7569 
7572 #if defined(__cplusplus)
7573 } /* extern "C" */
7574 #endif /* defined (__cplusplus) */
7575 
7576 #endif /* amd-dbgapi.h */
Queue supports the AMD PM4 protocol.
Definition: amd-dbgapi.h:757
const char AMD_DBGAPI * amd_dbgapi_get_build_name(void) AMD_DBGAPI_VERSION_0_54
Query the installed library build name.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_classify_instruction(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size, const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind, amd_dbgapi_instruction_properties_t *instruction_properties, void **instruction_information) AMD_DBGAPI_VERSION_0_58
Classify a single instruction.
Opaque agent handle.
Definition: amd-dbgapi.h:2469
Return the event kind.
Definition: amd-dbgapi.h:6998
The wave stopped due to executing an assert trap instruction.
Definition: amd-dbgapi.h:3856
uint64_t amd_dbgapi_global_address_t
Integral type used for a global virtual memory address in the inferior process.
Definition: amd-dbgapi.h:642
void(* deallocate_memory)(void *data)
Deallocate memory that was allocated by amd_dbgapi_callbacks_s::allocate_memory.
Definition: amd-dbgapi.h:7402
The wave stopped due to detecting an unrecoverable ECC error.
Definition: amd-dbgapi.h:3924
uint64_t handle
Definition: amd-dbgapi.h:6797
uint64_t handle
Definition: amd-dbgapi.h:1201
Return the dispatch grid size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3157
The address space is only read the waves of a kernel dispatch.
Definition: amd-dbgapi.h:5915
A set of watchpoints.
Definition: amd-dbgapi.h:4735
The wave stopped due to a memory violation.
Definition: amd-dbgapi.h:3882
The wave stopped due to triggering an enabled floating point invalid operation exception.
Definition: amd-dbgapi.h:3817
There are no properties.
Definition: amd-dbgapi.h:5015
A wave waits for memory instructions to complete before executing further instructions.
Definition: amd-dbgapi.h:6642
The client process handle is invalid.
Definition: amd-dbgapi.h:993
uint64_t amd_dbgapi_os_queue_id_t
Native operating system queue ID.
Definition: amd-dbgapi.h:721
An invalid argument was given to the function.
Definition: amd-dbgapi.h:830
uint64_t handle
Definition: amd-dbgapi.h:4598
Opaque displaced stepping handle.
Definition: amd-dbgapi.h:4344
Print fatal error messages.
Definition: amd-dbgapi.h:7131
There is a fence with system memory scope.
Definition: amd-dbgapi.h:3278
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_class_get_info(amd_dbgapi_address_class_id_t address_class_id, amd_dbgapi_address_class_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_62
Query information about a source language address class of an architecture.
The segment address cannot be converted to the requested address space.
Definition: amd-dbgapi.h:977
The instruction causes the wave to stop executing for some period of time, before continuing executio...
Definition: amd-dbgapi.h:1561
amd_dbgapi_wave_creation_t
The kinds of wave creation supported by the hardware.
Definition: amd-dbgapi.h:2099
Reading or writing the segment address depends on the wavefront.
Definition: amd-dbgapi.h:6243
Queue is in a valid state.
Definition: amd-dbgapi.h:2821
Opaque queue handle.
Definition: amd-dbgapi.h:2703
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_next_pending_event(amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id, amd_dbgapi_event_kind_t *kind) AMD_DBGAPI_VERSION_0_54
Obtain the next pending event.
Watchpoints are not supported.
Definition: amd-dbgapi.h:4686
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_queue_list(amd_dbgapi_process_id_t process_id, size_t *queue_count, amd_dbgapi_queue_id_t **queues, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of queues.
Print fatal error and warning messages.
Definition: amd-dbgapi.h:7135
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_class_get_info(amd_dbgapi_register_class_id_t register_class_id, amd_dbgapi_register_class_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a register class of an architecture.
The inferior&#39;s runtime has been unloaded.
Definition: amd-dbgapi.h:6972
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_report_breakpoint_hit(amd_dbgapi_breakpoint_id_t breakpoint_id, amd_dbgapi_client_thread_id_t client_thread_id, amd_dbgapi_breakpoint_action_t *breakpoint_action) AMD_DBGAPI_VERSION_0_54
Report that a breakpoint inserted by the amd_dbgapi_callbacks_s::insert_breakpoint callback has been ...
Opaque process handle.
Definition: amd-dbgapi.h:1698
Read access by load instructions.
Definition: amd-dbgapi.h:4712
When an ALU exception is delivered to the waves, the wave&#39;s PC is at the instruction following the on...
Definition: amd-dbgapi.h:6717
The instruction classification is unknown.
Definition: amd-dbgapi.h:1466
Native operating system queue ID.
Definition: amd-dbgapi.h:2768
The register value may change as a consequence of changing a register of the same wavefront with the ...
Definition: amd-dbgapi.h:5028
The instruction terminates the wave execution.
Definition: amd-dbgapi.h:1529
The number of lanes supported by the wave.
Definition: amd-dbgapi.h:3653
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_code_object_get_info(amd_dbgapi_code_object_id_t code_object_id, amd_dbgapi_code_object_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a code object.
amd_dbgapi_breakpoint_action_t
The action to perform after reporting a breakpoint has been hit.
Definition: amd-dbgapi.h:7268
Return how watchpoints are shared between processes.
Definition: amd-dbgapi.h:1766
Return the architecture of this dispatch.
Definition: amd-dbgapi.h:3121
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_start(amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes, amd_dbgapi_displaced_stepping_id_t *displaced_stepping) AMD_DBGAPI_VERSION_0_76
Associate an active displaced stepping buffer with a wave.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_get_info(amd_dbgapi_process_id_t process_id, amd_dbgapi_process_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_77
Query information about a process.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_complete(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_displaced_stepping_id_t displaced_stepping) AMD_DBGAPI_VERSION_0_76
Complete a displaced stepping buffer for a wave.
Return the source language address class name.
Definition: amd-dbgapi.h:5717
If the current process is created from a core file, return the content of the AMDGPU state note if pr...
Definition: amd-dbgapi.h:7361
There is a fence with agent memory scope.
Definition: amd-dbgapi.h:3274
The address space is read only.
Definition: amd-dbgapi.h:5910
amd_dbgapi_wave_state_t
The execution state of a wave.
Definition: amd-dbgapi.h:3709
#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:562
Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3152
uint32_t amd_dbgapi_lane_id_t
A wave lane handle.
Definition: amd-dbgapi.h:5671
const void * data
Pointer to the buffer containing the core state data.
Definition: amd-dbgapi.h:1739
Return the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
Definition: amd-dbgapi.h:1233
There is no fence.
Definition: amd-dbgapi.h:3270
The wave is running in single-step mode.
Definition: amd-dbgapi.h:3719
amd_dbgapi_changed_t
Indication of if a value has changed.
Definition: amd-dbgapi.h:652
The wave is stopped.
Definition: amd-dbgapi.h:915
amd_dbgapi_register_exists_t
Indication of if a wave has a register.
Definition: amd-dbgapi.h:5190
The wave&#39;s number in the workgroup.
Definition: amd-dbgapi.h:3648
The wave cannot be resumed.
Definition: amd-dbgapi.h:923
The wave does not have the register.
Definition: amd-dbgapi.h:5195
Opaque register class handle.
Definition: amd-dbgapi.h:4863
uint64_t handle
Definition: amd-dbgapi.h:1700
The segment address in the address space is a member of the source language address class...
Definition: amd-dbgapi.h:6317
Return the architecture to which this register class belongs.
Definition: amd-dbgapi.h:4887
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_space_get_info(amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_address_space_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_62
Query information about an address space.
amd_dbgapi_agent_info_t
Agent queries that are supported by amd_dbgapi_agent_get_info.
Definition: amd-dbgapi.h:2486
amd_dbgapi_dispatch_barrier_t
Dispatch barrier.
Definition: amd-dbgapi.h:3246
Return the size of the register in bytes.
Definition: amd-dbgapi.h:5062
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_disassemble_instruction(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size, const void *memory, char **instruction_text, amd_dbgapi_symbolizer_id_t symbolizer_id, amd_dbgapi_status_t(*symbolizer)( amd_dbgapi_symbolizer_id_t symbolizer_id, amd_dbgapi_global_address_t address, char **symbol_text)) AMD_DBGAPI_VERSION_0_54
Disassemble a single instruction.
amd_dbgapi_status_t(* xfer_global_memory)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_global_address_t global_address, amd_dbgapi_size_t *value_size, void *read_buffer, const void *write_buffer)
Uncached global memory transfer.
Definition: amd-dbgapi.h:7553
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_dispatch_list(amd_dbgapi_process_id_t process_id, size_t *dispatch_count, amd_dbgapi_dispatch_id_t **dispatches, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of dispatches.
The wave has an active displaced stepping buffer.
Definition: amd-dbgapi.h:936
A dispatch packet on the queue has an invalid workgroup size.
Definition: amd-dbgapi.h:2919
Instruction information for direct call instructions.
Definition: amd-dbgapi.h:5626
amd_dbgapi_global_address_t target_address
Definition: amd-dbgapi.h:5628
No more watchpoints available.
Definition: amd-dbgapi.h:949
Opaque hardware data watchpoint handle.
Definition: amd-dbgapi.h:4596
amd_dbgapi_wave_stop_reasons_t
A bit mask of the reasons that a wave stopped.
Definition: amd-dbgapi.h:3741
Return the wave of a AMD_DBGAPI_EVENT_KIND_WAVE_STOP or AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED...
Definition: amd-dbgapi.h:7004
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_watchpoint_get_info(amd_dbgapi_watchpoint_id_t watchpoint_id, amd_dbgapi_watchpoint_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a watchpoint.
uint64_t handle
Definition: amd-dbgapi.h:7198
Return the breakpoint of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:7009
Print no messages.
Definition: amd-dbgapi.h:7126
A wave on the queue had an exception due to accessing an invalid memory address.
Definition: amd-dbgapi.h:2894
Return the architecture of this wave.
Definition: amd-dbgapi.h:3611
Changing the value of the register may change a register of the same wavefront with the AMD_DBGAPI_RE...
Definition: amd-dbgapi.h:5035
Opaque workgroup handle.
Definition: amd-dbgapi.h:3350
amd_dbgapi_log_level_t
The logging levels supported.
Definition: amd-dbgapi.h:7121
Return the process to which this code object belongs.
Definition: amd-dbgapi.h:2291
The byte size of the created watchpoint.
Definition: amd-dbgapi.h:4629
The watchpoint handle is invalid.
Definition: amd-dbgapi.h:945
Return the dispatch to which this workgroup belongs.
Definition: amd-dbgapi.h:3378
No forward progress is needed.
Definition: amd-dbgapi.h:2053
uint64_t amd_dbgapi_os_agent_id_t
Native operating system agent ID.
Definition: amd-dbgapi.h:711
PCI slot of the agent in BDF format (see [Bus:Device.Function (BDF) Notation][bfd].
Definition: amd-dbgapi.h:2523
The instruction enters the trap handler.
Definition: amd-dbgapi.h:1543
The function has executed successfully.
Definition: amd-dbgapi.h:786
The value has changed.
Definition: amd-dbgapi.h:661
Read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4721
The wave stopped due to executing a breakpoint instruction.
Definition: amd-dbgapi.h:3753
Return if the architectures of all the agents of a process support controlling ALU exceptions reporti...
Definition: amd-dbgapi.h:1779
The instruction has some form of special behavior not covered by any of the other instruction kinds...
Definition: amd-dbgapi.h:1570
The wave is not stopped.
Definition: amd-dbgapi.h:911
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_get_architecture(uint32_t elf_amdgpu_machine, amd_dbgapi_architecture_id_t *architecture_id) AMD_DBGAPI_VERSION_0_54
Get an architecture from the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture...
A wave on the queue executed an illegal instruction.
Definition: amd-dbgapi.h:2881
amd_dbgapi_queue_state_t
Queue state.
Definition: amd-dbgapi.h:2816
Return the agent to which this workgroup belongs.
Definition: amd-dbgapi.h:3388
Queue supports the AMD SDMA protocol.
Definition: amd-dbgapi.h:761
The code object handle is invalid.
Definition: amd-dbgapi.h:878
The wave stopped due to triggering a data watchpoint.
Definition: amd-dbgapi.h:3765
Return the dispatch barrier setting.
Definition: amd-dbgapi.h:3132
#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:556
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.
ALU exceptions delivery might be reported at any time after the instructions causing them have execut...
Definition: amd-dbgapi.h:6711
The inferior&#39;s runtime has put a queue into the queue error state due to exceptions being reported fo...
Definition: amd-dbgapi.h:6917
amd_dbgapi_event_info_t
Event queries that are supported by amd_dbgapi_event_get_info.
Definition: amd-dbgapi.h:6987
amd_dbgapi_runtime_state_t
Inferior&#39;s runtime state.
Definition: amd-dbgapi.h:6962
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize(void) AMD_DBGAPI_VERSION_0_54
Finalize the library.
Resume execution.
Definition: amd-dbgapi.h:7273
PCI vendor ID of the agent.
Definition: amd-dbgapi.h:2527
The list of code objects has changed.
Definition: amd-dbgapi.h:6855
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dwarf_address_space_to_address_space(amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space, amd_dbgapi_address_space_id_t *address_space_id) AMD_DBGAPI_VERSION_0_54
Return the address space from an AMD GPU DWARF address space number for an architecture.
Return the wave&#39;s state.
Definition: amd-dbgapi.h:3551
Return the dispatch release fence.
Definition: amd-dbgapi.h:3142
The requested information is not available.
Definition: amd-dbgapi.h:822
Return the queue to which this wave belongs.
Definition: amd-dbgapi.h:3596
The instruction unconditionally branches to a literal address.
Definition: amd-dbgapi.h:1478
uint64_t handle
Definition: amd-dbgapi.h:3352
The breakpoint handle is invalid.
Definition: amd-dbgapi.h:985
Return the reason the wave stopped as a bit set.
Definition: amd-dbgapi.h:3558
The library is already initialized.
Definition: amd-dbgapi.h:838
amd_dbgapi_code_object_info_t
Code object queries that are supported by amd_dbgapi_code_object_get_info.
Definition: amd-dbgapi.h:2285
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_register_exists(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_register_exists_t *exists) AMD_DBGAPI_VERSION_0_54
Query if a register exists for a wave.
Return the agent to which this queue belongs.
Definition: amd-dbgapi.h:2726
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:7478
#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:598
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:700
The instruction unconditionally branches to an address held in a pair of registers.
Definition: amd-dbgapi.h:1493
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_is_in_address_class(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_address_class_id_t address_class_id, amd_dbgapi_address_class_state_t *address_class_state) AMD_DBGAPI_VERSION_0_54
Determine if a segment address in an address space is a member of a source language address class...
#define AMD_DBGAPI
Definition: amd-dbgapi.h:506
A command for a wave was not able to complete because the wave has terminated.
Definition: amd-dbgapi.h:6833
Return the byte size of an address in the address space.
Definition: amd-dbgapi.h:5938
Agent name.
Definition: amd-dbgapi.h:2498
The lane handle is invalid.
Definition: amd-dbgapi.h:961
void AMD_DBGAPI amd_dbgapi_set_log_level(amd_dbgapi_log_level_t level) AMD_DBGAPI_VERSION_0_54
Set the logging level.
The wave handle is invalid.
Definition: amd-dbgapi.h:907
Opaque code object handle.
Definition: amd-dbgapi.h:2268
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_write_memory(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_76
Write memory.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_wave_list(amd_dbgapi_process_id_t process_id, size_t *wave_count, amd_dbgapi_wave_id_t **waves, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of existing waves.
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.
Return the agent state.
Definition: amd-dbgapi.h:2513
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:6306
Return the AMD GPU DWARF address space number for the address space&#39;s architecture.
Definition: amd-dbgapi.h:5953
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:5709
uint64_t handle
Definition: amd-dbgapi.h:4346
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dwarf_register_to_register(amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register, amd_dbgapi_register_id_t *register_id) AMD_DBGAPI_VERSION_0_54
Return a register handle from an AMD GPU DWARF register number for an architecture.
The wave stopped due to triggering an enabled floating point divide by zero exception.
Definition: amd-dbgapi.h:3785
Return the address space access.
Definition: amd-dbgapi.h:5948
PCI domain the agent is in.
Definition: amd-dbgapi.h:2517
The process is already frozen.
Definition: amd-dbgapi.h:1018
The register class handle is invalid.
Definition: amd-dbgapi.h:953
If none of the bits are set, then amd_dbgapi_wave_stop stopped the wave.
Definition: amd-dbgapi.h:3747
Return the dispatch completion event address.
Definition: amd-dbgapi.h:3192
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_class_list(amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count, amd_dbgapi_register_class_id_t **register_classes) AMD_DBGAPI_VERSION_0_54
Report the list of register classes supported by the architecture.
Return the architecture of this workgroup.
Definition: amd-dbgapi.h:3398
amd_dbgapi_register_class_state_t
Indication of whether a register is a member of a register class.
Definition: amd-dbgapi.h:5377
Encoding is done using big endian.
Definition: amd-dbgapi.h:1715
The instruction unconditionally halts the wave.
Definition: amd-dbgapi.h:1548
Return the number of data watchpoints supported by the process.
Definition: amd-dbgapi.h:1760
uint64_t handle
Definition: amd-dbgapi.h:4865
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_breakpoint_get_info(amd_dbgapi_breakpoint_id_t breakpoint_id, amd_dbgapi_breakpoint_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a breakpoint.
amd_dbgapi_watchpoint_kind_t
Watchpoint memory access kinds.
Definition: amd-dbgapi.h:4707
The notifier for the process that indicates if pending events are available.
Definition: amd-dbgapi.h:1754
void(* log_message)(amd_dbgapi_log_level_t level, const char *message)
Report a log message.
Definition: amd-dbgapi.h:7567
The wave stopped due to triggering an enabled floating point overflow exception.
Definition: amd-dbgapi.h:3793
Return the dispatch acquire fence.
Definition: amd-dbgapi.h:3137
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_code_object_list(amd_dbgapi_process_id_t process_id, size_t *code_object_count, amd_dbgapi_code_object_id_t **code_objects, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of loaded code objects.
Opaque event handle.
Definition: amd-dbgapi.h:6795
#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:604
The runtime support in the inferior is enabled or disabled.
Definition: amd-dbgapi.h:6883
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_attach(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_process_id_t *process_id) AMD_DBGAPI_VERSION_0_56
Attach to a process in order to provide debug control of the AMD GPUs it uses.
Normal progress is needed.
Definition: amd-dbgapi.h:2029
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_watchpoint(amd_dbgapi_process_id_t process_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t size, amd_dbgapi_watchpoint_kind_t kind, amd_dbgapi_watchpoint_id_t *watchpoint_id) AMD_DBGAPI_VERSION_0_76
Set a hardware data watchpoint.
amd_dbgapi_watchpoint_id_t * watchpoint_ids
Definition: amd-dbgapi.h:4738
Return the process to which this breakpoint belongs.
Definition: amd-dbgapi.h:7219
A wave on the queue executed a trap instruction used to abort a dispatch.
Definition: amd-dbgapi.h:2851
Return the dispatch to which this wave belongs.
Definition: amd-dbgapi.h:3591
AMDGPU corefile state data for a process.
Definition: amd-dbgapi.h:1724
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_prefetch_register(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_62
Prefetch register values.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_convert_address_space(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t source_address_space_id, amd_dbgapi_segment_address_t source_segment_address, amd_dbgapi_address_space_id_t destination_address_space_id, amd_dbgapi_segment_address_t *destination_segment_address, amd_dbgapi_size_t *destination_contiguous_bytes) AMD_DBGAPI_VERSION_0_62
Convert a source segment address in the source address space into a destination segment address in th...
An invalid combination of arguments was given to the function.
Definition: amd-dbgapi.h:834
Return the queue packet ID of the dispatch packet that initiated the dispatch.
Definition: amd-dbgapi.h:3127
amd_dbgapi_event_kind_t
The event kinds.
Definition: amd-dbgapi.h:6809
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_workgroup_list(amd_dbgapi_process_id_t process_id, size_t *workgroup_count, amd_dbgapi_workgroup_id_t **workgroups, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_64
Return the list of existing workgroups.
A dispatch packet on the queue requires too many registers.
Definition: amd-dbgapi.h:2923
Return the register class name.
Definition: amd-dbgapi.h:4894
The instruction unconditionally branches to an address held in a pair of source registers and the add...
Definition: amd-dbgapi.h:1524
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_read_memory(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id, amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_54
Read memory.
The wave has an outstanding stop request.
Definition: amd-dbgapi.h:919
The library is not initialized.
Definition: amd-dbgapi.h:842
The symbol was not found.
Definition: amd-dbgapi.h:997
Write access by store instructions or read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4717
#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:580
Return the register handle for the PC for the architecture.
Definition: amd-dbgapi.h:1268
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:7438
amd_dbgapi_address_space_access_t
Indication of how the address space is accessed.
Definition: amd-dbgapi.h:5899
Queue supports the AMD SDMA XGMI protocol.
Definition: amd-dbgapi.h:765
The bytes being disassembled are not a legal instruction.
Definition: amd-dbgapi.h:874
uint64_t handle
Definition: amd-dbgapi.h:2705
Reading or writing the segment address depends on the workgroup.
Definition: amd-dbgapi.h:6247
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:6100
The instruction has no properties.
Definition: amd-dbgapi.h:1581
#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:586
A wave on the queue executed an instruction that caused an exception.
Definition: amd-dbgapi.h:2861
Return the AMD GPU DWARF register number for the register&#39;s architecture.
Definition: amd-dbgapi.h:5132
Dispatch has a barrier.
Definition: amd-dbgapi.h:3256
Return the breakpoint instruction for the architecture.
Definition: amd-dbgapi.h:1257
uint64_t amd_dbgapi_os_queue_packet_id_t
Native operating system queue packet ID.
Definition: amd-dbgapi.h:733
The value has not changed.
Definition: amd-dbgapi.h:657
The instruction conditionally branches to a literal address.
Definition: amd-dbgapi.h:1485
The URI name of the ELF shared object from which the code object was loaded.
Definition: amd-dbgapi.h:2347
Opaque address space handle.
Definition: amd-dbgapi.h:5876
The ELF AMD GPU machine value is invalid or unsupported.
Definition: amd-dbgapi.h:882
amd_dbgapi_client_process_info_t
Client queries that are supported by the client_process_get_info callback.
Definition: amd-dbgapi.h:7339
The difference between the address in the ELF shared object and the address the code object is loaded...
Definition: amd-dbgapi.h:2353
The address space supports all accesses.
Definition: amd-dbgapi.h:5905
The register handle is invalid.
Definition: amd-dbgapi.h:957
The wave stopped due to executing a debug trap instruction.
Definition: amd-dbgapi.h:3840
#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:610
The wave stopped due to triggering an enabled floating point inexact exception.
Definition: amd-dbgapi.h:3809
Memory instructions execute normally and a wave does not wait for the memory access to complete...
Definition: amd-dbgapi.h:6637
Reading or writing the segment address depends on the process.
Definition: amd-dbgapi.h:6255
Native operating system process ID.
Definition: amd-dbgapi.h:1793
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_address_class_list(amd_dbgapi_architecture_id_t architecture_id, size_t *address_class_count, amd_dbgapi_address_class_id_t **address_classes) AMD_DBGAPI_VERSION_0_54
Report the list of source language address classes supported by the architecture. ...
amd_dbgapi_process_info_t
Process queries that are supported by amd_dbgapi_process_get_info.
Definition: amd-dbgapi.h:1748
Return the queue of a AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR event.
Definition: amd-dbgapi.h:7026
uint64_t handle
Definition: amd-dbgapi.h:3085
The register is not a member of the register class.
Definition: amd-dbgapi.h:5382
The address class handle is invalid.
Definition: amd-dbgapi.h:965
amd_dbgapi_workgroup_info_t
Workgroup queries that are supported by amd_dbgapi_workgroup_get_info.
Definition: amd-dbgapi.h:3367
A wave has stopped.
Definition: amd-dbgapi.h:6818
Return the process to which this dispatch belongs.
Definition: amd-dbgapi.h:3116
amd_dbgapi_architecture_info_t
Architecture queries that are supported by amd_dbgapi_architecture_get_info.
Definition: amd-dbgapi.h:1217
#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:574
Return the process to which this wave belongs.
Definition: amd-dbgapi.h:3606
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_queue_packet_list(amd_dbgapi_queue_id_t queue_id, amd_dbgapi_os_queue_packet_id_t *read_packet_id, amd_dbgapi_os_queue_packet_id_t *write_packet_id, size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_54
Return the packets for a queue.
Opaque register handle.
Definition: amd-dbgapi.h:4993
amd_dbgapi_alu_exceptions_precision_t
ALU exceptions reporting precision.
Definition: amd-dbgapi.h:6705
Return the register&#39;s properties.
Definition: amd-dbgapi.h:5137
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_register_is_in_register_class(amd_dbgapi_register_class_id_t register_class_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_register_class_state_t *register_class_state) AMD_DBGAPI_VERSION_0_54
Determine if a register is a member of a register class.
amd_dbgapi_dispatch_fence_scope_t
Dispatch memory fence scope.
Definition: amd-dbgapi.h:3265
Return the architecture to which this register belongs.
Definition: amd-dbgapi.h:5050
Agent does not support debugging.
Definition: amd-dbgapi.h:2580
The watchpoints of a process are shared between all processes.
Definition: amd-dbgapi.h:4698
If none of the bits are set, then the queue is not in the error state.
Definition: amd-dbgapi.h:2847
Maximum number of waves supported by an execution unit.
Definition: amd-dbgapi.h:2541
The event handle is invalid.
Definition: amd-dbgapi.h:981
Normal wave creation allows new waves to be created.
Definition: amd-dbgapi.h:2104
Return the dispatch group segment size in bytes.
Definition: amd-dbgapi.h:3167
This operation is not allowed when the process is frozen.
Definition: amd-dbgapi.h:1014
Return the address space name.
Definition: amd-dbgapi.h:5933
This operation is not allowed when the process is not frozen.
Definition: amd-dbgapi.h:1022
Return the size in bytes of the memory holding the queue packets.
Definition: amd-dbgapi.h:2763
pid_t amd_dbgapi_os_process_id_t
Native operating system process ID.
Definition: amd-dbgapi.h:672
Encoding is done using little endian.
Definition: amd-dbgapi.h:1718
Return the architecture name.
Definition: amd-dbgapi.h:1225
Return the agent to which this dispatch belongs.
Definition: amd-dbgapi.h:3111
The wave stopped due to completing an instruction single-step.
Definition: amd-dbgapi.h:3769
The displaced stepping handle is invalid.
Definition: amd-dbgapi.h:927
Resume execution in in single step mode.
Definition: amd-dbgapi.h:4082
A fatal error has occurred.
Definition: amd-dbgapi.h:812
amd_dbgapi_queue_info_t
Queue queries that are supported by amd_dbgapi_queue_get_info.
Definition: amd-dbgapi.h:2720
The inferior&#39;s runtime has been loaded and debugging is supported by the library. ...
Definition: amd-dbgapi.h:6968
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_stop(amd_dbgapi_wave_id_t wave_id) AMD_DBGAPI_VERSION_0_76
Request a wave to stop executing.
The segment address in the address space is not a member of the source language address class...
Definition: amd-dbgapi.h:6312
Return the dispatch kernel code entry address.
Definition: amd-dbgapi.h:3182
amd_dbgapi_register_info_t
Register queries that are supported by amd_dbgapi_register_get_info.
Definition: amd-dbgapi.h:5044
Return the process to which this event belongs.
Definition: amd-dbgapi.h:6993
uint64_t handle
Definition: amd-dbgapi.h:2471
size_t count
Definition: amd-dbgapi.h:4737
No dependence is available.
Definition: amd-dbgapi.h:6235
The watchpoints are not shared across processes.
Definition: amd-dbgapi.h:4692
amd_dbgapi_register_class_info_t
Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info.
Definition: amd-dbgapi.h:4881
Return the agent to which this wave belongs.
Definition: amd-dbgapi.h:3601
The wave stopped due to an aperture violation.
Definition: amd-dbgapi.h:3897
Agent supports debugging.
Definition: amd-dbgapi.h:2557
Request to resume a host breakpoint.
Definition: amd-dbgapi.h:6868
The process handle is invalid.
Definition: amd-dbgapi.h:886
The instruction conditionally branches to an address held in a pair of registers. ...
Definition: amd-dbgapi.h:1503
Return the architecture specific address space that is used to implement a pointer or reference to th...
Definition: amd-dbgapi.h:5726
amd_dbgapi_watchpoint_info_t
Watchpoint queries that are supported by amd_dbgapi_watchpoint_get_info.
Definition: amd-dbgapi.h:4613
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_event_get_info(amd_dbgapi_event_id_t event_id, amd_dbgapi_event_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about an event.
The instruction unconditionally branches to a literal address and the address of the following instru...
Definition: amd-dbgapi.h:1514
The address space handle is invalid.
Definition: amd-dbgapi.h:969
Print fatal error, warning, and info messages.
Definition: amd-dbgapi.h:7139
Opaque dispatch handle.
Definition: amd-dbgapi.h:3083
Return the base address of the memory holding the queue packets.
Definition: amd-dbgapi.h:2758
Return the client thread of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:7014
The instruction executes sequentially.
Definition: amd-dbgapi.h:1472
The wave has the register.
Definition: amd-dbgapi.h:5199
Return the queue to which this dispatch belongs.
Definition: amd-dbgapi.h:3106
The inferior&#39;s runtime has been loaded but there is a restriction error that prevents debugging the p...
Definition: amd-dbgapi.h:6978
Return if the runtime loaded in the inferior is supported by the library for a AMD_DBGAPI_EVENT_KIND_...
Definition: amd-dbgapi.h:7021
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:6230
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_agent_list(amd_dbgapi_process_id_t process_id, size_t *agent_count, amd_dbgapi_agent_id_t **agents, amd_dbgapi_changed_t *changed) AMD_DBGAPI_VERSION_0_54
Return the list of agents.
Callbacks that the client of the library must provide.
Definition: amd-dbgapi.h:7370
amd_dbgapi_instruction_properties_t
A bit mask of the properties of an instruction.
Definition: amd-dbgapi.h:1576
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_workgroup_get_info(amd_dbgapi_workgroup_id_t workgroup_id, amd_dbgapi_workgroup_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64
Query information about a workgroup.
A dispatch packet on the queue has an invalid dimension.
Definition: amd-dbgapi.h:2903
There is a restriction error that prevents the operation to complete.
Definition: amd-dbgapi.h:862
The wave stopped due to executing a trap instruction other than the AMD_DBGAPI_WAVE_STOP_REASON_DEBUG...
Definition: amd-dbgapi.h:3866
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_event_processed(amd_dbgapi_event_id_t event_id) AMD_DBGAPI_VERSION_0_54
Report that an event has been processed.
Return the breakpoint instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1249
Return the dispatch private segment size in bytes.
Definition: amd-dbgapi.h:3162
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_get_info(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_wave_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64
Query information about a wave.
Opaque source language address class handle.
Definition: amd-dbgapi.h:5691
A wave on the queue executed an instruction that had a floating point or integer enabled exception co...
Definition: amd-dbgapi.h:2877
No more displaced stepping buffers are available that are suitable for the requested wave...
Definition: amd-dbgapi.h:932
Unknown queue type.
Definition: amd-dbgapi.h:749
Return the process to which this queue belongs.
Definition: amd-dbgapi.h:2731
Return a blob containing the content to put in the state note when generating a core dump...
Definition: amd-dbgapi.h:1803
amd_dbgapi_progress_t
The kinds of progress supported by the library.
Definition: amd-dbgapi.h:2022
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_set_wave_creation(amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_creation_t creation) AMD_DBGAPI_VERSION_0_76
Set the wave creation mode for a process.
amd_dbgapi_breakpoint_info_t
Breakpoint queries that are supported by amd_dbgapi_breakpoint_get_info.
Definition: amd-dbgapi.h:7213
amd_dbgapi_agent_state_t
Agent state.
Definition: amd-dbgapi.h:2552
Return the set of exceptions that caused the queue to enter the queue error state.
Definition: amd-dbgapi.h:2753
amd_dbgapi_endianness_t endianness
Endianness encoding of the core state.
Definition: amd-dbgapi.h:1727
The operation is not currently implemented.
Definition: amd-dbgapi.h:818
amd_dbgapi_register_properties_t
A bit mask on register properties.
Definition: amd-dbgapi.h:5010
amd_dbgapi_memory_precision_t
Memory access precision.
Definition: amd-dbgapi.h:6631
uint64_t handle
Definition: amd-dbgapi.h:2270
Reading or writing the segment address depends on the lane.
Definition: amd-dbgapi.h:6239
Return the process to which this watchpoint belongs.
Definition: amd-dbgapi.h:4619
Opaque wave handle.
Definition: amd-dbgapi.h:3528
The current process state is not compatible with the requested operation.
Definition: amd-dbgapi.h:1010
Return the number of bytes to subtract from the PC after stopping due to a breakpoint instruction to ...
Definition: amd-dbgapi.h:1263
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_dependency(amd_dbgapi_address_space_id_t address_space_id, amd_dbgapi_segment_address_t segment_address, amd_dbgapi_segment_address_dependency_t *segment_address_dependency) AMD_DBGAPI_VERSION_0_64
Determine the dependency of a segment address value in a particular address space.
uint64_t handle
Definition: amd-dbgapi.h:3530
#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:592
Return the largest instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1238
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_queue_get_info(amd_dbgapi_queue_id_t queue_id, amd_dbgapi_queue_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_68
Query information about a queue.
amd_dbgapi_address_space_info_t
Address space queries that are supported by amd_dbgapi_address_space_get_info.
Definition: amd-dbgapi.h:5925
Return the minimum instruction alignment in bytes for the architecture.
Definition: amd-dbgapi.h:1244
The native operating system process associated with a client process has exited.
Definition: amd-dbgapi.h:891
The instruction performs some kind of execution barrier which may result in the wave being halted unt...
Definition: amd-dbgapi.h:1555
The wave stopped due to triggering an enabled floating point input denormal exception.
Definition: amd-dbgapi.h:3777
Stop wave creation prevents new waves from being created.
Definition: amd-dbgapi.h:2108
Native operating system agent ID.
Definition: amd-dbgapi.h:2546
Return the dispatch kernel descriptor address.
Definition: amd-dbgapi.h:3177
The wave is running.
Definition: amd-dbgapi.h:3714
No event.
Definition: amd-dbgapi.h:6814
Resume normal execution.
Definition: amd-dbgapi.h:4078
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:2842
The operation is not supported.
Definition: amd-dbgapi.h:826
uint64_t handle
Definition: amd-dbgapi.h:4995
uint64_t handle
Definition: amd-dbgapi.h:5878
The workgroup workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3409
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_register_list(amd_dbgapi_wave_id_t wave_id, size_t *register_count, amd_dbgapi_register_id_t **registers) AMD_DBGAPI_VERSION_0_54
Report the list of registers supported by a wave.
The workgroup handle is invalid.
Definition: amd-dbgapi.h:1006
Return the dispatch grid dimensionality.
Definition: amd-dbgapi.h:3147
uint64_t amd_dbgapi_size_t
Integral type used for sizes, including memory allocations, in the inferior.
Definition: amd-dbgapi.h:647
Return the NULL segment address value in the address space.
Definition: amd-dbgapi.h:5943
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_read_register(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size, void *value) AMD_DBGAPI_VERSION_0_62
Read a register.
Return the queue to which this workgroup belongs.
Definition: amd-dbgapi.h:3383
The register handle is valid, but specifies a register that is not allocated in the associated wave...
Definition: amd-dbgapi.h:1002
#define DEPRECATED
Old deprecated name kept for backward compatibility.
Definition: amd-dbgapi.h:523
Return the dispatch kernel argument segment address.
Definition: amd-dbgapi.h:3172
Return the architecture of this queue.
Definition: amd-dbgapi.h:2736
Return the workgroup to which this wave belongs.
Definition: amd-dbgapi.h:3581
The register is a member of the register class.
Definition: amd-dbgapi.h:5386
Return the architecture of this agent.
Definition: amd-dbgapi.h:2508
There was an error preempting the queue.
Definition: amd-dbgapi.h:2936
Return the process to which this workgroup belongs.
Definition: amd-dbgapi.h:3393
Queue supports the HSA AQL protocol.
Definition: amd-dbgapi.h:753
Return the process to which this displaced stepping buffer belongs.
Definition: amd-dbgapi.h:4368
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_get_info(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_architecture_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about an architecture.
Print fatal error, warning, info, and API tracing messages.
Definition: amd-dbgapi.h:7143
A wave on the queue had a memory violation.
Definition: amd-dbgapi.h:2887
Total number of Execution Units (EUs) available in the agent.
Definition: amd-dbgapi.h:2536
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_agent_get_info(amd_dbgapi_agent_id_t agent_id, amd_dbgapi_agent_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_67
Query information about an agent.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_unfreeze(amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_76
Unfreeze the process identified by process_id.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_displaced_stepping_get_info(amd_dbgapi_displaced_stepping_id_t displaced_stepping_id, amd_dbgapi_displaced_stepping_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a displaced stepping buffer.
A callback to the client reported an error.
Definition: amd-dbgapi.h:989
amd_dbgapi_os_queue_type_t
Native operating system queue type.
Definition: amd-dbgapi.h:744
amd_dbgapi_resume_mode_t
The mode in which to resuming the execution of a wave.
Definition: amd-dbgapi.h:4073
size_t size
Size, in bytes, of the buffer pointed by amd_dbgapi_core_state_data_t::data.
Definition: amd-dbgapi.h:1731
A dispatch packet on the queue has a NULL code address.
Definition: amd-dbgapi.h:2911
Return the native operating system process handle.
Definition: amd-dbgapi.h:7351
amd_dbgapi_status_t
AMD debugger API status codes.
Definition: amd-dbgapi.h:781
Return the current program counter value of the wave.
Definition: amd-dbgapi.h:3617
The agent handle is invalid.
Definition: amd-dbgapi.h:895
The base address of the created watchpoint.
Definition: amd-dbgapi.h:4624
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_initialize(amd_dbgapi_callbacks_t *callbacks) AMD_DBGAPI_VERSION_0_76
Initialize the library.
Return the AMD GPU DWARF address class number for the address class&#39; architecture.
Definition: amd-dbgapi.h:5731
The architecture handle is invalid.
Definition: amd-dbgapi.h:870
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_set_progress(amd_dbgapi_process_id_t process_id, amd_dbgapi_progress_t progress) AMD_DBGAPI_VERSION_0_76
Set the progress required for a process.
Leave execution halted.
Definition: amd-dbgapi.h:7277
At least one bit of the register value is readonly.
Definition: amd-dbgapi.h:5021
Opaque architecture handle.
Definition: amd-dbgapi.h:1199
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_write_register(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size, const void *value) AMD_DBGAPI_VERSION_0_76
Write a register.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_register_list(amd_dbgapi_architecture_id_t architecture_id, size_t *register_count, amd_dbgapi_register_id_t **registers) AMD_DBGAPI_VERSION_0_54
Report the list of registers supported by the architecture.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_remove_watchpoint(amd_dbgapi_watchpoint_id_t watchpoint_id) AMD_DBGAPI_VERSION_0_76
Remove a hardware data watchpoint previously set by amd_dbgapi_set_watchpoint.
The wave stopped due to triggering an enabled floating point underflow exception. ...
Definition: amd-dbgapi.h:3801
Return the queue type.
Definition: amd-dbgapi.h:2741
amd_dbgapi_wave_info_t
Wave queries that are supported by amd_dbgapi_wave_get_info.
Definition: amd-dbgapi.h:3545
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_architecture_address_space_list(amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count, amd_dbgapi_address_space_id_t **address_spaces) AMD_DBGAPI_VERSION_0_54
Report the list of address spaces supported by the architecture.
uint64_t handle
Definition: amd-dbgapi.h:5693
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_resume(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode, amd_dbgapi_exceptions_t exceptions) AMD_DBGAPI_VERSION_0_76
Resume execution of a stopped wave.
Return the queue state.
Definition: amd-dbgapi.h:2746
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dwarf_address_class_to_address_class(amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_class, amd_dbgapi_address_class_id_t *address_class_id) AMD_DBGAPI_VERSION_0_54
Return the architecture source language address class from a DWARF address class number for an archit...
The wave is stopped.
Definition: amd-dbgapi.h:3732
Return the process to which this agent belongs.
Definition: amd-dbgapi.h:2492
Reading or writing the segment address depends on the agent.
Definition: amd-dbgapi.h:6251
A packet on the queue has an invalid vendor code.
Definition: amd-dbgapi.h:2927
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_set_memory_precision(amd_dbgapi_process_id_t process_id, amd_dbgapi_memory_precision_t memory_precision) AMD_DBGAPI_VERSION_0_54
Control precision of memory access reporting.
Queue is in the queue error state.
Definition: amd-dbgapi.h:2835
struct amd_dbgapi_symbolizer_id_s * amd_dbgapi_symbolizer_id_t
Opaque client symbolizer handle.
Definition: amd-dbgapi.h:1352
An error occurred while trying to access memory in the inferior.
Definition: amd-dbgapi.h:973
A generic error has occurred.
Definition: amd-dbgapi.h:790
A dispatch packet on the queue has an invalid group segment size.
Definition: amd-dbgapi.h:2907
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_freeze(amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_76
Freeze the process identified by process_id.
The process is already attached to the given inferior process.
Definition: amd-dbgapi.h:866
struct amd_dbgapi_client_process_s * amd_dbgapi_client_process_id_t
Opaque client process handle.
Definition: amd-dbgapi.h:1686
amd_dbgapi_displaced_stepping_info_t
Displaced stepping queries that are supported by amd_dbgapi_displaced_stepping_id_t.
Definition: amd-dbgapi.h:4362
Dispatch has no barrier.
Definition: amd-dbgapi.h:3251
The wave stopped due to executing an illegal instruction.
Definition: amd-dbgapi.h:3911
amd_dbgapi_watchpoint_share_kind_t
The way watchpoints are shared between processes.
Definition: amd-dbgapi.h:4681
The dispatch handle is invalid.
Definition: amd-dbgapi.h:903
amd_dbgapi_instruction_kind_t
The kinds of instruction classifications.
Definition: amd-dbgapi.h:1460
Read, write, or read-modify-write access by load, store, or atomic instructions.
Definition: amd-dbgapi.h:4726
Return the watchpoint(s) the wave triggered.
Definition: amd-dbgapi.h:3571
A packet on the queue has an unsupported code.
Definition: amd-dbgapi.h:2915
struct amd_dbgapi_client_thread_s * amd_dbgapi_client_thread_id_t
Opaque client thread handle.
Definition: amd-dbgapi.h:7289
Return the register name.
Definition: amd-dbgapi.h:5057
The wave workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3636
Return if the architectures of all the agents of a process support controlling memory precision...
Definition: amd-dbgapi.h:1772
Print fatal error, warning, info, API tracing, and verbose messages.
Definition: amd-dbgapi.h:7147
The queue handle is invalid.
Definition: amd-dbgapi.h:899
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:7513
The wave stopped due to triggering an enabled integer divide by zero exception.
Definition: amd-dbgapi.h:3825
PCI device ID of the agent.
Definition: amd-dbgapi.h:2531
void AMD_DBGAPI amd_dbgapi_get_version(uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_54
Query the version of the installed library.
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_detach(amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_54
Detach from a process and no longer have debug control of the AMD GPU devices it uses.
Return the register type as a C style type string.
Definition: amd-dbgapi.h:5123
amd_dbgapi_dispatch_info_t
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Definition: amd-dbgapi.h:3100
amd_dbgapi_endianness_t
Byte endianness encoding.
Definition: amd-dbgapi.h:1712
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_dispatch_get_info(amd_dbgapi_dispatch_id_t dispatch_id, amd_dbgapi_dispatch_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54
Query information about a dispatch.
#define AMD_DBGAPI_VERSION_0_58
The function was introduced in version 0.58 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:568
The wave stopped after causing a hardware fatal halt.
Definition: amd-dbgapi.h:3931
The wave cannot be resumed in the manner requested due to displaced stepping restrictions.
Definition: amd-dbgapi.h:941
Opaque breakpoint handle.
Definition: amd-dbgapi.h:7196
Return the current execution mask of the wave.
Definition: amd-dbgapi.h:3625
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.