AMD_DBGAPI  0.77.2
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 
476 #ifndef AMD_DBGAPI_H
477 #define AMD_DBGAPI_H 1
478 
479 /* Placeholder for calling convention and import/export macros */
480 #if !defined(AMD_DBGAPI_CALL)
481 #define AMD_DBGAPI_CALL
482 #endif /* !defined (AMD_DBGAPI_CALL) */
483 
484 #if !defined(AMD_DBGAPI_EXPORT_DECORATOR)
485 #if defined(__GNUC__)
486 #define AMD_DBGAPI_EXPORT_DECORATOR __attribute__ ((visibility ("default")))
487 #elif defined(_MSC_VER)
488 #define AMD_DBGAPI_EXPORT_DECORATOR __declspec(dllexport)
489 #endif /* defined (_MSC_VER) */
490 #endif /* !defined (AMD_DBGAPI_EXPORT_DECORATOR) */
491 
492 #if !defined(AMD_DBGAPI_IMPORT_DECORATOR)
493 #if defined(__GNUC__)
494 #define AMD_DBGAPI_IMPORT_DECORATOR
495 #elif defined(_MSC_VER)
496 #define AMD_DBGAPI_IMPORT_DECORATOR __declspec(dllimport)
497 #endif /* defined (_MSC_VER) */
498 #endif /* !defined (AMD_DBGAPI_IMPORT_DECORATOR) */
499 
500 #define AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL
501 #define AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL
502 
503 #if !defined(AMD_DBGAPI)
504 #if defined(AMD_DBGAPI_EXPORTS)
505 #define AMD_DBGAPI AMD_DBGAPI_EXPORT
506 #else /* !defined (AMD_DBGAPI_EXPORTS) */
507 #define AMD_DBGAPI AMD_DBGAPI_IMPORT
508 #endif /* !defined (AMD_DBGAPI_EXPORTS) */
509 #endif /* !defined (AMD_DBGAPI) */
510 
511 #if __cplusplus >= 201103L
512 /* c++11 allows extended initializer lists. */
513 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) (type{ value })
514 #elif __STDC_VERSION__ >= 199901L
515 /* c99 allows compound literals. */
516 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) ((type){ value })
517 #else /* !__STDC_VERSION__ >= 199901L */
518 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) {value}
519 #endif /* !__STDC_VERSION__ >= 199901L */
520 
521 #if defined(__cplusplus) && __cplusplus >= 201402L
522 #define DEPRECATED [[deprecated]]
523 #else
524 #define DEPRECATED
525 #endif
526 
527 #if defined(__cplusplus)
528 extern "C" {
529 #endif /* defined (__cplusplus) */
530 
531 #if defined(__linux__)
532 #include <sys/types.h>
533 #endif /* __linux__ */
534 
535 #include <stddef.h>
536 #include <stdint.h>
537 
557 #define AMD_DBGAPI_VERSION_0_54
558 
563 #define AMD_DBGAPI_VERSION_0_56
564 
569 #define AMD_DBGAPI_VERSION_0_58
570 
575 #define AMD_DBGAPI_VERSION_0_62
576 
581 #define AMD_DBGAPI_VERSION_0_64
582 
587 #define AMD_DBGAPI_VERSION_0_67
588 
593 #define AMD_DBGAPI_VERSION_0_68
594 
599 #define AMD_DBGAPI_VERSION_0_70
600 
605 #define AMD_DBGAPI_VERSION_0_76
606 
611 #define AMD_DBGAPI_VERSION_0_77
612 
620 
644 
648 typedef uint64_t amd_dbgapi_size_t;
649 
653 typedef enum
654 {
664 
672 #if defined(__linux__)
674 #endif /* __linux__ */
675 
700 #if defined(__linux__)
702 #endif /* __linux__ */
703 
711 #if defined(__linux__)
712 typedef uint64_t amd_dbgapi_os_agent_id_t;
713 #endif /* __linux__ */
714 
721 #if defined(__linux__)
722 typedef uint64_t amd_dbgapi_os_queue_id_t;
723 #endif /* __linux__ */
724 
733 #if defined(__linux__)
735 #endif /* __linux__ */
736 
744 #if defined(__linux__)
745 typedef enum
746 {
768 #endif /* __linux__ */
769 
782 typedef enum
783 {
1025 
1043  amd_dbgapi_status_t status,
1044  const char **status_string) AMD_DBGAPI_VERSION_0_54;
1045 
1069 #define AMD_DBGAPI_VERSION_MAJOR 0
1070 
1075 #define AMD_DBGAPI_VERSION_MINOR 77
1076 
1091  uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_54;
1092 
1101 const char AMD_DBGAPI *
1102 amd_dbgapi_get_build_name (void) AMD_DBGAPI_VERSION_0_54;
1103 
1151 
1177  AMD_DBGAPI_VERSION_0_54;
1178 
1200 typedef struct
1201 {
1202  uint64_t handle;
1204 
1208 #define AMD_DBGAPI_ARCHITECTURE_NONE \
1209  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_architecture_id_t, 0)
1210 
1218 typedef enum
1219 {
1271 
1311  amd_dbgapi_architecture_id_t architecture_id,
1312  amd_dbgapi_architecture_info_t query, size_t value_size,
1313  void *value) AMD_DBGAPI_VERSION_0_54;
1314 
1344  uint32_t elf_amdgpu_machine,
1346 
1353 typedef struct amd_dbgapi_symbolizer_id_s *amd_dbgapi_symbolizer_id_t;
1354 
1449  amd_dbgapi_architecture_id_t architecture_id,
1450  amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1451  const void *memory, char **instruction_text,
1452  amd_dbgapi_symbolizer_id_t symbolizer_id,
1453  amd_dbgapi_status_t (*symbolizer) (
1454  amd_dbgapi_symbolizer_id_t symbolizer_id,
1455  amd_dbgapi_global_address_t address,
1456  char **symbol_text)) AMD_DBGAPI_VERSION_0_54;
1457 
1461 typedef enum
1462 {
1573 
1577 typedef enum
1578 {
1584 
1660  amd_dbgapi_architecture_id_t architecture_id,
1661  amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1662  const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind,
1663  amd_dbgapi_instruction_properties_t *instruction_properties,
1664  void **instruction_information) AMD_DBGAPI_VERSION_0_58;
1665 
1687 typedef struct amd_dbgapi_client_process_s *amd_dbgapi_client_process_id_t;
1688 
1699 typedef struct
1700 {
1701  uint64_t handle;
1703 
1707 #define AMD_DBGAPI_PROCESS_NONE \
1708  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_process_id_t, 0)
1709 
1713 typedef enum
1714 {
1717 
1721 
1725 typedef struct
1726 {
1732  size_t size;
1740  const void *data;
1742 
1749 typedef enum
1750 {
1806 
1858  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_77;
1859 
1957  amd_dbgapi_client_process_id_t client_process_id,
1959 
2008 
2023 typedef enum
2024 {
2056 
2086  amd_dbgapi_process_id_t process_id,
2088 
2100 typedef enum
2101 {
2111 
2141  amd_dbgapi_process_id_t process_id,
2143 
2214 
2241 
2269 typedef struct
2270 {
2271  uint64_t handle;
2273 
2277 #define AMD_DBGAPI_CODE_OBJECT_NONE \
2278  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_code_object_id_t, 0)
2279 
2286 typedef enum
2287 {
2356 
2396  amd_dbgapi_code_object_id_t code_object_id,
2397  amd_dbgapi_code_object_info_t query, size_t value_size,
2398  void *value) AMD_DBGAPI_VERSION_0_54;
2399 
2450  amd_dbgapi_process_id_t process_id, size_t *code_object_count,
2451  amd_dbgapi_code_object_id_t **code_objects,
2453 
2470 typedef struct
2471 {
2472  uint64_t handle;
2474 
2478 #define AMD_DBGAPI_AGENT_NONE \
2479  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_agent_id_t, 0)
2480 
2487 typedef enum
2488 {
2549 
2553 typedef enum
2554 {
2583 
2628  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_67;
2629 
2682  amd_dbgapi_process_id_t process_id, size_t *agent_count,
2683  amd_dbgapi_agent_id_t **agents,
2685 
2704 typedef struct
2705 {
2706  uint64_t handle;
2708 
2712 #define AMD_DBGAPI_QUEUE_NONE \
2713  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_queue_id_t, 0)
2714 
2721 typedef enum
2722 {
2771 
2812  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_68;
2813 
2817 typedef enum
2818 {
2838 
2843 typedef enum
2844 {
2899  AMD_DBGAPI_EXCEPTION_WAVE_APERTURE_VIOLATION DEPRECATED
2939 
2993  amd_dbgapi_process_id_t process_id, size_t *queue_count,
2994  amd_dbgapi_queue_id_t **queues,
2996 
3061  amd_dbgapi_queue_id_t queue_id,
3062  amd_dbgapi_os_queue_packet_id_t *read_packet_id,
3063  amd_dbgapi_os_queue_packet_id_t *write_packet_id,
3064  size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_54;
3065 
3084 typedef struct
3085 {
3086  uint64_t handle;
3088 
3092 #define AMD_DBGAPI_DISPATCH_NONE \
3093  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_dispatch_id_t, 0)
3094 
3101 typedef enum
3102 {
3195 
3239  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
3240 
3247 typedef enum
3248 {
3259 
3266 typedef enum
3267 {
3281 
3331  amd_dbgapi_process_id_t process_id, size_t *dispatch_count,
3332  amd_dbgapi_dispatch_id_t **dispatches,
3334 
3351 typedef struct
3352 {
3353  uint64_t handle;
3355 
3359 #define AMD_DBGAPI_WORKGROUP_NONE \
3360  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0)
3361 
3368 typedef enum
3369 {
3412 
3457  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3458 
3509  amd_dbgapi_process_id_t process_id, size_t *workgroup_count,
3510  amd_dbgapi_workgroup_id_t **workgroups,
3512 
3529 typedef struct
3530 {
3531  uint64_t handle;
3533 
3537 #define AMD_DBGAPI_WAVE_NONE \
3538  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_wave_id_t, 0)
3539 
3546 typedef enum
3547 {
3656 
3705  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3706 
3710 typedef enum
3711 {
3735 
3742 typedef enum
3743 {
3902  AMD_DBGAPI_WAVE_STOP_REASON_APERTURE_VIOLATION DEPRECATED
3934 
3983  amd_dbgapi_process_id_t process_id, size_t *wave_count,
3984  amd_dbgapi_wave_id_t **waves,
3986 
4070 
4074 typedef enum
4075 {
4085 
4241  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode,
4243 
4345 typedef struct
4346 {
4347  uint64_t handle;
4349 
4353 #define AMD_DBGAPI_DISPLACED_STEPPING_NONE \
4354  (amd_dbgapi_displaced_stepping_id_t{ 0 })
4355 
4363 typedef enum
4364 {
4371 
4412  amd_dbgapi_displaced_stepping_id_t displaced_stepping_id,
4413  amd_dbgapi_displaced_stepping_info_t query, size_t value_size,
4414  void *value) AMD_DBGAPI_VERSION_0_54;
4415 
4502  amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes,
4503  amd_dbgapi_displaced_stepping_id_t *displaced_stepping)
4505 
4560  amd_dbgapi_wave_id_t wave_id,
4561  amd_dbgapi_displaced_stepping_id_t displaced_stepping)
4563 
4597 typedef struct
4598 {
4599  uint64_t handle;
4601 
4605 #define AMD_DBGAPI_WATCHPOINT_NONE \
4606  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_watchpoint_id_t, 0)
4607 
4614 typedef enum
4615 {
4632 
4672  amd_dbgapi_watchpoint_id_t watchpoint_id,
4673  amd_dbgapi_watchpoint_info_t query, size_t value_size,
4674  void *value) AMD_DBGAPI_VERSION_0_54;
4675 
4682 typedef enum
4683 {
4701 
4708 typedef enum
4709 {
4729 
4736 typedef struct
4737 {
4738  size_t count;
4741 
4814  amd_dbgapi_process_id_t process_id, amd_dbgapi_global_address_t address,
4815  amd_dbgapi_size_t size, amd_dbgapi_watchpoint_kind_t kind,
4817 
4842 
4864 typedef struct
4865 {
4866  uint64_t handle;
4868 
4872 #define AMD_DBGAPI_REGISTER_CLASS_NONE \
4873  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_class_id_t, 0)
4874 
4882 typedef enum
4883 {
4897 
4938  amd_dbgapi_register_class_id_t register_class_id,
4939  amd_dbgapi_register_class_info_t query, size_t value_size,
4940  void *value) AMD_DBGAPI_VERSION_0_54;
4941 
4983  amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count,
4985 
4994 typedef struct
4995 {
4996  uint64_t handle;
4998 
5002 #define AMD_DBGAPI_REGISTER_NONE \
5003  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_id_t, 0)
5004 
5011 typedef enum
5012 {
5038 
5045 typedef enum
5046 {
5140 
5186  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_70;
5187 
5191 typedef enum
5192 {
5202 
5237  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5239 
5285  amd_dbgapi_architecture_id_t architecture_id, size_t *register_count,
5287 
5332  amd_dbgapi_wave_id_t wave_id, size_t *register_count,
5334 
5372  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register,
5374 
5378 typedef enum
5379 {
5389 
5428  amd_dbgapi_register_class_id_t register_class_id,
5429  amd_dbgapi_register_id_t register_id,
5430  amd_dbgapi_register_class_state_t *register_class_state)
5432 
5490  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5491  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5492  void *value) AMD_DBGAPI_VERSION_0_62;
5493 
5559  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5560  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5561  const void *value) AMD_DBGAPI_VERSION_0_76;
5562 
5617  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5618  amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_62;
5619 
5627 typedef struct
5628 {
5629  amd_dbgapi_global_address_t target_address;
5630  amd_dbgapi_register_id_t saved_return_address_register[2];
5632 
5672 typedef uint32_t amd_dbgapi_lane_id_t;
5673 
5677 #define AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1))
5678 
5692 typedef struct
5693 {
5694  uint64_t handle;
5696 
5700 #define AMD_DBGAPI_ADDRESS_CLASS_NONE \
5701  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_class_id_t, 0)
5702 
5710 typedef enum
5711 {
5734 
5775  amd_dbgapi_address_class_id_t address_class_id,
5776  amd_dbgapi_address_class_info_t query, size_t value_size,
5777  void *value) AMD_DBGAPI_VERSION_0_62;
5778 
5821  amd_dbgapi_architecture_id_t architecture_id, size_t *address_class_count,
5823 
5863  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_class,
5865 
5877 typedef struct
5878 {
5879  uint64_t handle;
5881 
5885 #define AMD_DBGAPI_ADDRESS_SPACE_NONE \
5886  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 0)
5887 
5894 #define AMD_DBGAPI_ADDRESS_SPACE_GLOBAL \
5895  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 1)
5896 
5900 typedef enum
5901 {
5918 
5926 typedef enum
5927 {
5956 
5996  amd_dbgapi_address_space_id_t address_space_id,
5997  amd_dbgapi_address_space_info_t query, size_t value_size,
5998  void *value) AMD_DBGAPI_VERSION_0_62;
5999 
6039  amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count,
6041 
6082  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space,
6084 
6102 
6218  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6219  amd_dbgapi_address_space_id_t source_address_space_id,
6220  amd_dbgapi_segment_address_t source_segment_address,
6221  amd_dbgapi_address_space_id_t destination_address_space_id,
6222  amd_dbgapi_segment_address_t *destination_segment_address,
6223  amd_dbgapi_size_t *destination_contiguous_bytes)
6225 
6231 typedef enum
6232 {
6258 
6298  amd_dbgapi_address_space_id_t address_space_id,
6299  amd_dbgapi_segment_address_t segment_address,
6300  amd_dbgapi_segment_address_dependency_t *segment_address_dependency)
6302 
6307 typedef enum
6308 {
6320 
6393  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6394  amd_dbgapi_address_space_id_t address_space_id,
6395  amd_dbgapi_segment_address_t segment_address,
6396  amd_dbgapi_address_class_id_t address_class_id,
6397  amd_dbgapi_address_class_state_t *address_class_state)
6399 
6499  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6500  amd_dbgapi_lane_id_t lane_id,
6501  amd_dbgapi_address_space_id_t address_space_id,
6502  amd_dbgapi_segment_address_t segment_address,
6503  amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_54;
6504 
6608  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6609  amd_dbgapi_lane_id_t lane_id,
6610  amd_dbgapi_address_space_id_t address_space_id,
6611  amd_dbgapi_segment_address_t segment_address,
6612  amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_76;
6613 
6632 typedef enum
6633 {
6645 
6685  amd_dbgapi_process_id_t process_id,
6687 
6706 typedef enum
6707 {
6720 
6761  amd_dbgapi_process_id_t process_id,
6762  amd_dbgapi_alu_exceptions_precision_t alu_exceptions_precision)
6764 
6796 typedef struct
6797 {
6798  uint64_t handle;
6800 
6804 #define AMD_DBGAPI_EVENT_NONE \
6805  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_event_id_t, 0)
6806 
6810 typedef enum
6811 {
6920 
6957  amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id,
6959 
6963 typedef enum
6964 {
6981 
6988 typedef enum
6989 {
7029 
7071  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
7072 
7100 
7122 typedef enum
7123 {
7150 
7171 
7197 typedef struct
7198 {
7199  uint64_t handle;
7201 
7205 #define AMD_DBGAPI_BREAKPOINT_NONE \
7206  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0)
7207 
7214 typedef enum
7215 {
7222 
7262  amd_dbgapi_breakpoint_id_t breakpoint_id,
7263  amd_dbgapi_breakpoint_info_t query, size_t value_size,
7264  void *value) AMD_DBGAPI_VERSION_0_54;
7265 
7269 typedef enum
7270 {
7280 
7290 typedef struct amd_dbgapi_client_thread_s *amd_dbgapi_client_thread_id_t;
7291 
7330  amd_dbgapi_breakpoint_id_t breakpoint_id,
7331  amd_dbgapi_client_thread_id_t client_thread_id,
7333 
7340 typedef enum
7341 {
7364 
7372 {
7373 
7385  void *(*allocate_memory) (size_t byte_size);
7386 
7403  void (*deallocate_memory) (void *data);
7404 
7440  amd_dbgapi_client_process_id_t client_process_id,
7442  size_t value_size, void *value);
7443 
7480  amd_dbgapi_client_process_id_t client_process_id,
7481  amd_dbgapi_global_address_t address,
7482  amd_dbgapi_breakpoint_id_t breakpoint_id);
7483 
7515  amd_dbgapi_client_process_id_t client_process_id,
7516  amd_dbgapi_breakpoint_id_t breakpoint_id);
7517 
7555  amd_dbgapi_client_process_id_t client_process_id,
7556  amd_dbgapi_global_address_t global_address,
7557  amd_dbgapi_size_t *value_size, void *read_buffer,
7558  const void *write_buffer);
7559 
7568  void (*log_message) (amd_dbgapi_log_level_t level, const char *message);
7569 };
7570 
7573 #if defined(__cplusplus)
7574 } /* extern "C" */
7575 #endif /* defined (__cplusplus) */
7576 
7577 #endif /* amd-dbgapi.h */
Queue supports the AMD PM4 protocol.
Definition: amd-dbgapi.h:758
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:2470
Return the event kind.
Definition: amd-dbgapi.h:6999
The wave stopped due to executing an assert trap instruction.
Definition: amd-dbgapi.h:3857
uint64_t amd_dbgapi_global_address_t
Integral type used for a global virtual memory address in the inferior process.
Definition: amd-dbgapi.h:643
void(* deallocate_memory)(void *data)
Deallocate memory that was allocated by amd_dbgapi_callbacks_s::allocate_memory.
Definition: amd-dbgapi.h:7403
The wave stopped due to detecting an unrecoverable ECC error.
Definition: amd-dbgapi.h:3925
uint64_t handle
Definition: amd-dbgapi.h:6798
uint64_t handle
Definition: amd-dbgapi.h:1202
Return the dispatch grid size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3158
The address space is only read the waves of a kernel dispatch.
Definition: amd-dbgapi.h:5916
A set of watchpoints.
Definition: amd-dbgapi.h:4736
The wave stopped due to a memory violation.
Definition: amd-dbgapi.h:3883
The wave stopped due to triggering an enabled floating point invalid operation exception.
Definition: amd-dbgapi.h:3818
There are no properties.
Definition: amd-dbgapi.h:5016
A wave waits for memory instructions to complete before executing further instructions.
Definition: amd-dbgapi.h:6643
The client process handle is invalid.
Definition: amd-dbgapi.h:994
uint64_t amd_dbgapi_os_queue_id_t
Native operating system queue ID.
Definition: amd-dbgapi.h:722
An invalid argument was given to the function.
Definition: amd-dbgapi.h:831
uint64_t handle
Definition: amd-dbgapi.h:4599
Opaque displaced stepping handle.
Definition: amd-dbgapi.h:4345
Print fatal error messages.
Definition: amd-dbgapi.h:7132
There is a fence with system memory scope.
Definition: amd-dbgapi.h:3279
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:978
The instruction causes the wave to stop executing for some period of time, before continuing executio...
Definition: amd-dbgapi.h:1562
amd_dbgapi_wave_creation_t
The kinds of wave creation supported by the hardware.
Definition: amd-dbgapi.h:2100
Reading or writing the segment address depends on the wavefront.
Definition: amd-dbgapi.h:6244
Queue is in a valid state.
Definition: amd-dbgapi.h:2822
Opaque queue handle.
Definition: amd-dbgapi.h:2704
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:4687
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:7136
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:6973
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:1699
Read access by load instructions.
Definition: amd-dbgapi.h:4713
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:6718
The instruction classification is unknown.
Definition: amd-dbgapi.h:1467
Native operating system queue ID.
Definition: amd-dbgapi.h:2769
The register value may change as a consequence of changing a register of the same wavefront with the ...
Definition: amd-dbgapi.h:5029
The instruction terminates the wave execution.
Definition: amd-dbgapi.h:1530
The number of lanes supported by the wave.
Definition: amd-dbgapi.h:3654
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:7269
Return how watchpoints are shared between processes.
Definition: amd-dbgapi.h:1767
Return the architecture of this dispatch.
Definition: amd-dbgapi.h:3122
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:5718
If the current process is created from a core file, return the content of the AMDGPU state note if pr...
Definition: amd-dbgapi.h:7362
There is a fence with agent memory scope.
Definition: amd-dbgapi.h:3275
The address space is read only.
Definition: amd-dbgapi.h:5911
amd_dbgapi_wave_state_t
The execution state of a wave.
Definition: amd-dbgapi.h:3710
#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:563
Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3153
uint32_t amd_dbgapi_lane_id_t
A wave lane handle.
Definition: amd-dbgapi.h:5672
const void * data
Pointer to the buffer containing the core state data.
Definition: amd-dbgapi.h:1740
Return the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
Definition: amd-dbgapi.h:1234
There is no fence.
Definition: amd-dbgapi.h:3271
The wave is running in single-step mode.
Definition: amd-dbgapi.h:3720
amd_dbgapi_changed_t
Indication of if a value has changed.
Definition: amd-dbgapi.h:653
The wave is stopped.
Definition: amd-dbgapi.h:916
amd_dbgapi_register_exists_t
Indication of if a wave has a register.
Definition: amd-dbgapi.h:5191
The wave&#39;s number in the workgroup.
Definition: amd-dbgapi.h:3649
The wave cannot be resumed.
Definition: amd-dbgapi.h:924
The wave does not have the register.
Definition: amd-dbgapi.h:5196
Opaque register class handle.
Definition: amd-dbgapi.h:4864
uint64_t handle
Definition: amd-dbgapi.h:1701
The segment address in the address space is a member of the source language address class...
Definition: amd-dbgapi.h:6318
Return the architecture to which this register class belongs.
Definition: amd-dbgapi.h:4888
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:2487
amd_dbgapi_dispatch_barrier_t
Dispatch barrier.
Definition: amd-dbgapi.h:3247
Return the size of the register in bytes.
Definition: amd-dbgapi.h:5063
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:7554
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:937
A dispatch packet on the queue has an invalid workgroup size.
Definition: amd-dbgapi.h:2920
Instruction information for direct call instructions.
Definition: amd-dbgapi.h:5627
amd_dbgapi_global_address_t target_address
Definition: amd-dbgapi.h:5629
No more watchpoints available.
Definition: amd-dbgapi.h:950
Opaque hardware data watchpoint handle.
Definition: amd-dbgapi.h:4597
amd_dbgapi_wave_stop_reasons_t
A bit mask of the reasons that a wave stopped.
Definition: amd-dbgapi.h:3742
Return the wave of a AMD_DBGAPI_EVENT_KIND_WAVE_STOP or AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED...
Definition: amd-dbgapi.h:7005
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:7199
Return the breakpoint of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:7010
Print no messages.
Definition: amd-dbgapi.h:7127
A wave on the queue had an exception due to accessing an invalid memory address.
Definition: amd-dbgapi.h:2895
Return the architecture of this wave.
Definition: amd-dbgapi.h:3612
Changing the value of the register may change a register of the same wavefront with the AMD_DBGAPI_RE...
Definition: amd-dbgapi.h:5036
Opaque workgroup handle.
Definition: amd-dbgapi.h:3351
amd_dbgapi_log_level_t
The logging levels supported.
Definition: amd-dbgapi.h:7122
Return the process to which this code object belongs.
Definition: amd-dbgapi.h:2292
The byte size of the created watchpoint.
Definition: amd-dbgapi.h:4630
The watchpoint handle is invalid.
Definition: amd-dbgapi.h:946
Return the dispatch to which this workgroup belongs.
Definition: amd-dbgapi.h:3379
No forward progress is needed.
Definition: amd-dbgapi.h:2054
uint64_t amd_dbgapi_os_agent_id_t
Native operating system agent ID.
Definition: amd-dbgapi.h:712
PCI slot of the agent in BDF format (see [Bus:Device.Function (BDF) Notation][bfd].
Definition: amd-dbgapi.h:2524
The instruction enters the trap handler.
Definition: amd-dbgapi.h:1544
The function has executed successfully.
Definition: amd-dbgapi.h:787
The value has changed.
Definition: amd-dbgapi.h:662
Read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4722
The wave stopped due to executing a breakpoint instruction.
Definition: amd-dbgapi.h:3754
Return if the architectures of all the agents of a process support controlling ALU exceptions reporti...
Definition: amd-dbgapi.h:1780
The instruction has some form of special behavior not covered by any of the other instruction kinds...
Definition: amd-dbgapi.h:1571
The wave is not stopped.
Definition: amd-dbgapi.h:912
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:2882
amd_dbgapi_queue_state_t
Queue state.
Definition: amd-dbgapi.h:2817
Return the agent to which this workgroup belongs.
Definition: amd-dbgapi.h:3389
Queue supports the AMD SDMA protocol.
Definition: amd-dbgapi.h:762
The code object handle is invalid.
Definition: amd-dbgapi.h:879
The wave stopped due to triggering a data watchpoint.
Definition: amd-dbgapi.h:3766
Return the dispatch barrier setting.
Definition: amd-dbgapi.h:3133
#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:557
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:6712
The inferior&#39;s runtime has put a queue into the queue error state due to exceptions being reported fo...
Definition: amd-dbgapi.h:6918
amd_dbgapi_event_info_t
Event queries that are supported by amd_dbgapi_event_get_info.
Definition: amd-dbgapi.h:6988
amd_dbgapi_runtime_state_t
Inferior&#39;s runtime state.
Definition: amd-dbgapi.h:6963
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize(void) AMD_DBGAPI_VERSION_0_54
Finalize the library.
Resume execution.
Definition: amd-dbgapi.h:7274
PCI vendor ID of the agent.
Definition: amd-dbgapi.h:2528
The list of code objects has changed.
Definition: amd-dbgapi.h:6856
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:3552
Return the dispatch release fence.
Definition: amd-dbgapi.h:3143
The requested information is not available.
Definition: amd-dbgapi.h:823
Return the queue to which this wave belongs.
Definition: amd-dbgapi.h:3597
The instruction unconditionally branches to a literal address.
Definition: amd-dbgapi.h:1479
uint64_t handle
Definition: amd-dbgapi.h:3353
The breakpoint handle is invalid.
Definition: amd-dbgapi.h:986
Return the reason the wave stopped as a bit set.
Definition: amd-dbgapi.h:3559
The library is already initialized.
Definition: amd-dbgapi.h:839
amd_dbgapi_code_object_info_t
Code object queries that are supported by amd_dbgapi_code_object_get_info.
Definition: amd-dbgapi.h:2286
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:2727
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:7479
#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:599
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:701
The instruction unconditionally branches to an address held in a pair of registers.
Definition: amd-dbgapi.h:1494
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:507
A command for a wave was not able to complete because the wave has terminated.
Definition: amd-dbgapi.h:6834
Return the byte size of an address in the address space.
Definition: amd-dbgapi.h:5939
Agent name.
Definition: amd-dbgapi.h:2499
The lane handle is invalid.
Definition: amd-dbgapi.h:962
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:908
Opaque code object handle.
Definition: amd-dbgapi.h:2269
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:2514
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:6307
Return the AMD GPU DWARF address space number for the address space&#39;s architecture.
Definition: amd-dbgapi.h:5954
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:5710
uint64_t handle
Definition: amd-dbgapi.h:4347
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:3786
Return the address space access.
Definition: amd-dbgapi.h:5949
PCI domain the agent is in.
Definition: amd-dbgapi.h:2518
The process is already frozen.
Definition: amd-dbgapi.h:1019
The register class handle is invalid.
Definition: amd-dbgapi.h:954
If none of the bits are set, then amd_dbgapi_wave_stop stopped the wave.
Definition: amd-dbgapi.h:3748
Return the dispatch completion event address.
Definition: amd-dbgapi.h:3193
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:3399
amd_dbgapi_register_class_state_t
Indication of whether a register is a member of a register class.
Definition: amd-dbgapi.h:5378
Encoding is done using big endian.
Definition: amd-dbgapi.h:1716
The instruction unconditionally halts the wave.
Definition: amd-dbgapi.h:1549
Return the number of data watchpoints supported by the process.
Definition: amd-dbgapi.h:1761
uint64_t handle
Definition: amd-dbgapi.h:4866
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:4708
The notifier for the process that indicates if pending events are available.
Definition: amd-dbgapi.h:1755
void(* log_message)(amd_dbgapi_log_level_t level, const char *message)
Report a log message.
Definition: amd-dbgapi.h:7568
The wave stopped due to triggering an enabled floating point overflow exception.
Definition: amd-dbgapi.h:3794
Return the dispatch acquire fence.
Definition: amd-dbgapi.h:3138
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:6796
#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:605
The runtime support in the inferior is enabled or disabled.
Definition: amd-dbgapi.h:6884
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:2030
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:4739
Return the process to which this breakpoint belongs.
Definition: amd-dbgapi.h:7220
A wave on the queue executed a trap instruction used to abort a dispatch.
Definition: amd-dbgapi.h:2852
Return the dispatch to which this wave belongs.
Definition: amd-dbgapi.h:3592
AMDGPU corefile state data for a process.
Definition: amd-dbgapi.h:1725
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:835
Return the queue packet ID of the dispatch packet that initiated the dispatch.
Definition: amd-dbgapi.h:3128
amd_dbgapi_event_kind_t
The event kinds.
Definition: amd-dbgapi.h:6810
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:2924
Return the register class name.
Definition: amd-dbgapi.h:4895
The instruction unconditionally branches to an address held in a pair of source registers and the add...
Definition: amd-dbgapi.h:1525
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:920
The library is not initialized.
Definition: amd-dbgapi.h:843
The symbol was not found.
Definition: amd-dbgapi.h:998
Write access by store instructions or read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4718
#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:581
Return the register handle for the PC for the architecture.
Definition: amd-dbgapi.h:1269
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:7439
amd_dbgapi_address_space_access_t
Indication of how the address space is accessed.
Definition: amd-dbgapi.h:5900
Queue supports the AMD SDMA XGMI protocol.
Definition: amd-dbgapi.h:766
The bytes being disassembled are not a legal instruction.
Definition: amd-dbgapi.h:875
uint64_t handle
Definition: amd-dbgapi.h:2706
Reading or writing the segment address depends on the workgroup.
Definition: amd-dbgapi.h:6248
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:6101
The instruction has no properties.
Definition: amd-dbgapi.h:1582
#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:587
A wave on the queue executed an instruction that caused an exception.
Definition: amd-dbgapi.h:2862
Return the AMD GPU DWARF register number for the register&#39;s architecture.
Definition: amd-dbgapi.h:5133
Dispatch has a barrier.
Definition: amd-dbgapi.h:3257
Return the breakpoint instruction for the architecture.
Definition: amd-dbgapi.h:1258
uint64_t amd_dbgapi_os_queue_packet_id_t
Native operating system queue packet ID.
Definition: amd-dbgapi.h:734
The value has not changed.
Definition: amd-dbgapi.h:658
The instruction conditionally branches to a literal address.
Definition: amd-dbgapi.h:1486
The URI name of the ELF shared object from which the code object was loaded.
Definition: amd-dbgapi.h:2348
Opaque address space handle.
Definition: amd-dbgapi.h:5877
The ELF AMD GPU machine value is invalid or unsupported.
Definition: amd-dbgapi.h:883
amd_dbgapi_client_process_info_t
Client queries that are supported by the client_process_get_info callback.
Definition: amd-dbgapi.h:7340
The difference between the address in the ELF shared object and the address the code object is loaded...
Definition: amd-dbgapi.h:2354
The address space supports all accesses.
Definition: amd-dbgapi.h:5906
The register handle is invalid.
Definition: amd-dbgapi.h:958
The wave stopped due to executing a debug trap instruction.
Definition: amd-dbgapi.h:3841
#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:611
The wave stopped due to triggering an enabled floating point inexact exception.
Definition: amd-dbgapi.h:3810
Memory instructions execute normally and a wave does not wait for the memory access to complete...
Definition: amd-dbgapi.h:6638
Reading or writing the segment address depends on the process.
Definition: amd-dbgapi.h:6256
Native operating system process ID.
Definition: amd-dbgapi.h:1794
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:1749
Return the queue of a AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR event.
Definition: amd-dbgapi.h:7027
uint64_t handle
Definition: amd-dbgapi.h:3086
The register is not a member of the register class.
Definition: amd-dbgapi.h:5383
The address class handle is invalid.
Definition: amd-dbgapi.h:966
amd_dbgapi_workgroup_info_t
Workgroup queries that are supported by amd_dbgapi_workgroup_get_info.
Definition: amd-dbgapi.h:3368
A wave has stopped.
Definition: amd-dbgapi.h:6819
Return the process to which this dispatch belongs.
Definition: amd-dbgapi.h:3117
amd_dbgapi_architecture_info_t
Architecture queries that are supported by amd_dbgapi_architecture_get_info.
Definition: amd-dbgapi.h:1218
#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:575
Return the process to which this wave belongs.
Definition: amd-dbgapi.h:3607
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:4994
amd_dbgapi_alu_exceptions_precision_t
ALU exceptions reporting precision.
Definition: amd-dbgapi.h:6706
Return the register&#39;s properties.
Definition: amd-dbgapi.h:5138
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:3266
Return the architecture to which this register belongs.
Definition: amd-dbgapi.h:5051
Agent does not support debugging.
Definition: amd-dbgapi.h:2581
The watchpoints of a process are shared between all processes.
Definition: amd-dbgapi.h:4699
If none of the bits are set, then the queue is not in the error state.
Definition: amd-dbgapi.h:2848
Maximum number of waves supported by an execution unit.
Definition: amd-dbgapi.h:2542
The event handle is invalid.
Definition: amd-dbgapi.h:982
Normal wave creation allows new waves to be created.
Definition: amd-dbgapi.h:2105
Return the dispatch group segment size in bytes.
Definition: amd-dbgapi.h:3168
This operation is not allowed when the process is frozen.
Definition: amd-dbgapi.h:1015
Return the address space name.
Definition: amd-dbgapi.h:5934
This operation is not allowed when the process is not frozen.
Definition: amd-dbgapi.h:1023
Return the size in bytes of the memory holding the queue packets.
Definition: amd-dbgapi.h:2764
pid_t amd_dbgapi_os_process_id_t
Native operating system process ID.
Definition: amd-dbgapi.h:673
Encoding is done using little endian.
Definition: amd-dbgapi.h:1719
Return the architecture name.
Definition: amd-dbgapi.h:1226
Return the agent to which this dispatch belongs.
Definition: amd-dbgapi.h:3112
The wave stopped due to completing an instruction single-step.
Definition: amd-dbgapi.h:3770
The displaced stepping handle is invalid.
Definition: amd-dbgapi.h:928
Resume execution in in single step mode.
Definition: amd-dbgapi.h:4083
A fatal error has occurred.
Definition: amd-dbgapi.h:813
amd_dbgapi_queue_info_t
Queue queries that are supported by amd_dbgapi_queue_get_info.
Definition: amd-dbgapi.h:2721
The inferior&#39;s runtime has been loaded and debugging is supported by the library. ...
Definition: amd-dbgapi.h:6969
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:6313
Return the dispatch kernel code entry address.
Definition: amd-dbgapi.h:3183
amd_dbgapi_register_info_t
Register queries that are supported by amd_dbgapi_register_get_info.
Definition: amd-dbgapi.h:5045
Return the process to which this event belongs.
Definition: amd-dbgapi.h:6994
uint64_t handle
Definition: amd-dbgapi.h:2472
size_t count
Definition: amd-dbgapi.h:4738
No dependence is available.
Definition: amd-dbgapi.h:6236
The watchpoints are not shared across processes.
Definition: amd-dbgapi.h:4693
amd_dbgapi_register_class_info_t
Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info.
Definition: amd-dbgapi.h:4882
Return the agent to which this wave belongs.
Definition: amd-dbgapi.h:3602
The wave stopped due to an aperture violation.
Definition: amd-dbgapi.h:3898
Agent supports debugging.
Definition: amd-dbgapi.h:2558
Request to resume a host breakpoint.
Definition: amd-dbgapi.h:6869
The process handle is invalid.
Definition: amd-dbgapi.h:887
The instruction conditionally branches to an address held in a pair of registers. ...
Definition: amd-dbgapi.h:1504
Return the architecture specific address space that is used to implement a pointer or reference to th...
Definition: amd-dbgapi.h:5727
amd_dbgapi_watchpoint_info_t
Watchpoint queries that are supported by amd_dbgapi_watchpoint_get_info.
Definition: amd-dbgapi.h:4614
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:1515
The address space handle is invalid.
Definition: amd-dbgapi.h:970
Print fatal error, warning, and info messages.
Definition: amd-dbgapi.h:7140
Opaque dispatch handle.
Definition: amd-dbgapi.h:3084
Return the base address of the memory holding the queue packets.
Definition: amd-dbgapi.h:2759
Return the client thread of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:7015
The instruction executes sequentially.
Definition: amd-dbgapi.h:1473
The wave has the register.
Definition: amd-dbgapi.h:5200
Return the queue to which this dispatch belongs.
Definition: amd-dbgapi.h:3107
The inferior&#39;s runtime has been loaded but there is a restriction error that prevents debugging the p...
Definition: amd-dbgapi.h:6979
Return if the runtime loaded in the inferior is supported by the library for a AMD_DBGAPI_EVENT_KIND_...
Definition: amd-dbgapi.h:7022
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:6231
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:7371
amd_dbgapi_instruction_properties_t
A bit mask of the properties of an instruction.
Definition: amd-dbgapi.h:1577
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:2904
There is a restriction error that prevents the operation to complete.
Definition: amd-dbgapi.h:863
The wave stopped due to executing a trap instruction other than the AMD_DBGAPI_WAVE_STOP_REASON_DEBUG...
Definition: amd-dbgapi.h:3867
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:1250
Return the dispatch private segment size in bytes.
Definition: amd-dbgapi.h:3163
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:5692
A wave on the queue executed an instruction that had a floating point or integer enabled exception co...
Definition: amd-dbgapi.h:2878
No more displaced stepping buffers are available that are suitable for the requested wave...
Definition: amd-dbgapi.h:933
Unknown queue type.
Definition: amd-dbgapi.h:750
Return the process to which this queue belongs.
Definition: amd-dbgapi.h:2732
Return a blob containing the content to put in the state note when generating a core dump...
Definition: amd-dbgapi.h:1804
amd_dbgapi_progress_t
The kinds of progress supported by the library.
Definition: amd-dbgapi.h:2023
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:7214
amd_dbgapi_agent_state_t
Agent state.
Definition: amd-dbgapi.h:2553
Return the set of exceptions that caused the queue to enter the queue error state.
Definition: amd-dbgapi.h:2754
amd_dbgapi_endianness_t endianness
Endianness encoding of the core state.
Definition: amd-dbgapi.h:1728
The operation is not currently implemented.
Definition: amd-dbgapi.h:819
amd_dbgapi_register_properties_t
A bit mask on register properties.
Definition: amd-dbgapi.h:5011
amd_dbgapi_memory_precision_t
Memory access precision.
Definition: amd-dbgapi.h:6632
uint64_t handle
Definition: amd-dbgapi.h:2271
Reading or writing the segment address depends on the lane.
Definition: amd-dbgapi.h:6240
Return the process to which this watchpoint belongs.
Definition: amd-dbgapi.h:4620
Opaque wave handle.
Definition: amd-dbgapi.h:3529
The current process state is not compatible with the requested operation.
Definition: amd-dbgapi.h:1011
Return the number of bytes to subtract from the PC after stopping due to a breakpoint instruction to ...
Definition: amd-dbgapi.h:1264
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:3531
#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:593
Return the largest instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1239
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:5926
Return the minimum instruction alignment in bytes for the architecture.
Definition: amd-dbgapi.h:1245
The native operating system process associated with a client process has exited.
Definition: amd-dbgapi.h:892
The instruction performs some kind of execution barrier which may result in the wave being halted unt...
Definition: amd-dbgapi.h:1556
The wave stopped due to triggering an enabled floating point input denormal exception.
Definition: amd-dbgapi.h:3778
Stop wave creation prevents new waves from being created.
Definition: amd-dbgapi.h:2109
Native operating system agent ID.
Definition: amd-dbgapi.h:2547
Return the dispatch kernel descriptor address.
Definition: amd-dbgapi.h:3178
The wave is running.
Definition: amd-dbgapi.h:3715
No event.
Definition: amd-dbgapi.h:6815
Resume normal execution.
Definition: amd-dbgapi.h:4079
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:2843
The operation is not supported.
Definition: amd-dbgapi.h:827
uint64_t handle
Definition: amd-dbgapi.h:4996
uint64_t handle
Definition: amd-dbgapi.h:5879
The workgroup workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3410
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:1007
Return the dispatch grid dimensionality.
Definition: amd-dbgapi.h:3148
uint64_t amd_dbgapi_size_t
Integral type used for sizes, including memory allocations, in the inferior.
Definition: amd-dbgapi.h:648
Return the NULL segment address value in the address space.
Definition: amd-dbgapi.h:5944
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:3384
The register handle is valid, but specifies a register that is not allocated in the associated wave...
Definition: amd-dbgapi.h:1003
#define DEPRECATED
Old deprecated name kept for backward compatibility.
Definition: amd-dbgapi.h:524
Return the dispatch kernel argument segment address.
Definition: amd-dbgapi.h:3173
Return the architecture of this queue.
Definition: amd-dbgapi.h:2737
Return the workgroup to which this wave belongs.
Definition: amd-dbgapi.h:3582
The register is a member of the register class.
Definition: amd-dbgapi.h:5387
Return the architecture of this agent.
Definition: amd-dbgapi.h:2509
There was an error preempting the queue.
Definition: amd-dbgapi.h:2937
Return the process to which this workgroup belongs.
Definition: amd-dbgapi.h:3394
Queue supports the HSA AQL protocol.
Definition: amd-dbgapi.h:754
Return the process to which this displaced stepping buffer belongs.
Definition: amd-dbgapi.h:4369
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:7144
A wave on the queue had a memory violation.
Definition: amd-dbgapi.h:2888
Total number of Execution Units (EUs) available in the agent.
Definition: amd-dbgapi.h:2537
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:990
amd_dbgapi_os_queue_type_t
Native operating system queue type.
Definition: amd-dbgapi.h:745
amd_dbgapi_resume_mode_t
The mode in which to resuming the execution of a wave.
Definition: amd-dbgapi.h:4074
size_t size
Size, in bytes, of the buffer pointed by amd_dbgapi_core_state_data_t::data.
Definition: amd-dbgapi.h:1732
A dispatch packet on the queue has a NULL code address.
Definition: amd-dbgapi.h:2912
Return the native operating system process handle.
Definition: amd-dbgapi.h:7352
amd_dbgapi_status_t
AMD debugger API status codes.
Definition: amd-dbgapi.h:782
Return the current program counter value of the wave.
Definition: amd-dbgapi.h:3618
The agent handle is invalid.
Definition: amd-dbgapi.h:896
The base address of the created watchpoint.
Definition: amd-dbgapi.h:4625
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:5732
The architecture handle is invalid.
Definition: amd-dbgapi.h:871
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:7278
At least one bit of the register value is readonly.
Definition: amd-dbgapi.h:5022
Opaque architecture handle.
Definition: amd-dbgapi.h:1200
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:3802
Return the queue type.
Definition: amd-dbgapi.h:2742
amd_dbgapi_wave_info_t
Wave queries that are supported by amd_dbgapi_wave_get_info.
Definition: amd-dbgapi.h:3546
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:5694
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:2747
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:3733
Return the process to which this agent belongs.
Definition: amd-dbgapi.h:2493
Reading or writing the segment address depends on the agent.
Definition: amd-dbgapi.h:6252
A packet on the queue has an invalid vendor code.
Definition: amd-dbgapi.h:2928
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:2836
struct amd_dbgapi_symbolizer_id_s * amd_dbgapi_symbolizer_id_t
Opaque client symbolizer handle.
Definition: amd-dbgapi.h:1353
An error occurred while trying to access memory in the inferior.
Definition: amd-dbgapi.h:974
A generic error has occurred.
Definition: amd-dbgapi.h:791
A dispatch packet on the queue has an invalid group segment size.
Definition: amd-dbgapi.h:2908
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:867
struct amd_dbgapi_client_process_s * amd_dbgapi_client_process_id_t
Opaque client process handle.
Definition: amd-dbgapi.h:1687
amd_dbgapi_displaced_stepping_info_t
Displaced stepping queries that are supported by amd_dbgapi_displaced_stepping_id_t.
Definition: amd-dbgapi.h:4363
Dispatch has no barrier.
Definition: amd-dbgapi.h:3252
The wave stopped due to executing an illegal instruction.
Definition: amd-dbgapi.h:3912
amd_dbgapi_watchpoint_share_kind_t
The way watchpoints are shared between processes.
Definition: amd-dbgapi.h:4682
The dispatch handle is invalid.
Definition: amd-dbgapi.h:904
amd_dbgapi_instruction_kind_t
The kinds of instruction classifications.
Definition: amd-dbgapi.h:1461
Read, write, or read-modify-write access by load, store, or atomic instructions.
Definition: amd-dbgapi.h:4727
Return the watchpoint(s) the wave triggered.
Definition: amd-dbgapi.h:3572
A packet on the queue has an unsupported code.
Definition: amd-dbgapi.h:2916
struct amd_dbgapi_client_thread_s * amd_dbgapi_client_thread_id_t
Opaque client thread handle.
Definition: amd-dbgapi.h:7290
Return the register name.
Definition: amd-dbgapi.h:5058
The wave workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3637
Return if the architectures of all the agents of a process support controlling memory precision...
Definition: amd-dbgapi.h:1773
Print fatal error, warning, info, API tracing, and verbose messages.
Definition: amd-dbgapi.h:7148
The queue handle is invalid.
Definition: amd-dbgapi.h:900
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:7514
The wave stopped due to triggering an enabled integer divide by zero exception.
Definition: amd-dbgapi.h:3826
PCI device ID of the agent.
Definition: amd-dbgapi.h:2532
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:5124
amd_dbgapi_dispatch_info_t
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Definition: amd-dbgapi.h:3101
amd_dbgapi_endianness_t
Byte endianness encoding.
Definition: amd-dbgapi.h:1713
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:569
The wave stopped after causing a hardware fatal halt.
Definition: amd-dbgapi.h:3932
The wave cannot be resumed in the manner requested due to displaced stepping restrictions.
Definition: amd-dbgapi.h:942
Opaque breakpoint handle.
Definition: amd-dbgapi.h:7197
Return the current execution mask of the wave.
Definition: amd-dbgapi.h:3626
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.