AMD_DBGAPI  0.77.4
amd-dbgapi.h
Go to the documentation of this file.
1 /* Copyright (c) 2019-2024 Advanced Micro Devices, Inc.
2 
3  Permission is hereby granted, free of charge, to any person obtaining a copy
4  of this software and associated documentation files (the "Software"), to deal
5  in the Software without restriction, including without limitation the rights
6  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7  copies of the Software, and to permit persons to whom the Software is
8  furnished to do so, subject to the following conditions:
9 
10  The above copyright notice and this permission notice shall be included in
11  all copies or substantial portions of the Software.
12 
13  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19  THE SOFTWARE. */
20 
481 #ifndef AMD_DBGAPI_H
482 #define AMD_DBGAPI_H 1
483 
484 /* Placeholder for calling convention and import/export macros */
485 #if !defined(AMD_DBGAPI_CALL)
486 #define AMD_DBGAPI_CALL
487 #endif /* !defined (AMD_DBGAPI_CALL) */
488 
489 #if !defined(AMD_DBGAPI_EXPORT_DECORATOR)
490 #if defined(__GNUC__)
491 #define AMD_DBGAPI_EXPORT_DECORATOR __attribute__ ((visibility ("default")))
492 #elif defined(_MSC_VER)
493 #define AMD_DBGAPI_EXPORT_DECORATOR __declspec(dllexport)
494 #endif /* defined (_MSC_VER) */
495 #endif /* !defined (AMD_DBGAPI_EXPORT_DECORATOR) */
496 
497 #if !defined(AMD_DBGAPI_IMPORT_DECORATOR)
498 #if defined(__GNUC__)
499 #define AMD_DBGAPI_IMPORT_DECORATOR
500 #elif defined(_MSC_VER)
501 #define AMD_DBGAPI_IMPORT_DECORATOR __declspec(dllimport)
502 #endif /* defined (_MSC_VER) */
503 #endif /* !defined (AMD_DBGAPI_IMPORT_DECORATOR) */
504 
505 #define AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL
506 #define AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL
507 
508 #if !defined(AMD_DBGAPI)
509 #if defined(AMD_DBGAPI_EXPORTS)
510 #define AMD_DBGAPI AMD_DBGAPI_EXPORT
511 #else /* !defined (AMD_DBGAPI_EXPORTS) */
512 #define AMD_DBGAPI AMD_DBGAPI_IMPORT
513 #endif /* !defined (AMD_DBGAPI_EXPORTS) */
514 #endif /* !defined (AMD_DBGAPI) */
515 
516 #if __cplusplus >= 201103L
517 /* c++11 allows extended initializer lists. */
518 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) (type{ value })
519 #elif __STDC_VERSION__ >= 199901L
520 /* c99 allows compound literals. */
521 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) ((type){ value })
522 #else /* !__STDC_VERSION__ >= 199901L */
523 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) {value}
524 #endif /* !__STDC_VERSION__ >= 199901L */
525 
526 #if defined(__cplusplus) && __cplusplus >= 201402L
527 #define DEPRECATED [[deprecated]]
528 #else
529 #define DEPRECATED
530 #endif
531 
532 #if defined(__cplusplus)
533 extern "C" {
534 #endif /* defined (__cplusplus) */
535 
536 #if defined(__linux__)
537 #include <sys/types.h>
538 #endif /* __linux__ */
539 
540 #include <stddef.h>
541 #include <stdint.h>
542 
562 #define AMD_DBGAPI_VERSION_0_54
563 
568 #define AMD_DBGAPI_VERSION_0_56
569 
574 #define AMD_DBGAPI_VERSION_0_58
575 
580 #define AMD_DBGAPI_VERSION_0_62
581 
586 #define AMD_DBGAPI_VERSION_0_64
587 
592 #define AMD_DBGAPI_VERSION_0_67
593 
598 #define AMD_DBGAPI_VERSION_0_68
599 
604 #define AMD_DBGAPI_VERSION_0_70
605 
610 #define AMD_DBGAPI_VERSION_0_76
611 
616 #define AMD_DBGAPI_VERSION_0_77
617 
625 
649 
653 typedef uint64_t amd_dbgapi_size_t;
654 
658 typedef enum
659 {
669 
677 #if defined(__linux__)
679 #endif /* __linux__ */
680 
705 #if defined(__linux__)
707 #endif /* __linux__ */
708 
716 #if defined(__linux__)
717 typedef uint64_t amd_dbgapi_os_agent_id_t;
718 #endif /* __linux__ */
719 
726 #if defined(__linux__)
727 typedef uint64_t amd_dbgapi_os_queue_id_t;
728 #endif /* __linux__ */
729 
738 #if defined(__linux__)
740 #endif /* __linux__ */
741 
749 #if defined(__linux__)
750 typedef enum
751 {
773 #endif /* __linux__ */
774 
787 typedef enum
788 {
1030 
1048  amd_dbgapi_status_t status,
1049  const char **status_string) AMD_DBGAPI_VERSION_0_54;
1050 
1074 #define AMD_DBGAPI_VERSION_MAJOR 0
1075 
1080 #define AMD_DBGAPI_VERSION_MINOR 77
1081 
1096  uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_54;
1097 
1106 const char AMD_DBGAPI *
1107 amd_dbgapi_get_build_name (void) AMD_DBGAPI_VERSION_0_54;
1108 
1156 
1182  AMD_DBGAPI_VERSION_0_54;
1183 
1205 typedef struct
1206 {
1207  uint64_t handle;
1209 
1213 #define AMD_DBGAPI_ARCHITECTURE_NONE \
1214  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_architecture_id_t, 0)
1215 
1223 typedef enum
1224 {
1276 
1316  amd_dbgapi_architecture_id_t architecture_id,
1317  amd_dbgapi_architecture_info_t query, size_t value_size,
1318  void *value) AMD_DBGAPI_VERSION_0_54;
1319 
1349  uint32_t elf_amdgpu_machine,
1351 
1358 typedef struct amd_dbgapi_symbolizer_id_s *amd_dbgapi_symbolizer_id_t;
1359 
1454  amd_dbgapi_architecture_id_t architecture_id,
1455  amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1456  const void *memory, char **instruction_text,
1457  amd_dbgapi_symbolizer_id_t symbolizer_id,
1458  amd_dbgapi_status_t (*symbolizer) (
1459  amd_dbgapi_symbolizer_id_t symbolizer_id,
1460  amd_dbgapi_global_address_t address,
1461  char **symbol_text)) AMD_DBGAPI_VERSION_0_54;
1462 
1466 typedef enum
1467 {
1578 
1582 typedef enum
1583 {
1589 
1665  amd_dbgapi_architecture_id_t architecture_id,
1666  amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1667  const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind,
1668  amd_dbgapi_instruction_properties_t *instruction_properties,
1669  void **instruction_information) AMD_DBGAPI_VERSION_0_58;
1670 
1692 typedef struct amd_dbgapi_client_process_s *amd_dbgapi_client_process_id_t;
1693 
1704 typedef struct
1705 {
1706  uint64_t handle;
1708 
1712 #define AMD_DBGAPI_PROCESS_NONE \
1713  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_process_id_t, 0)
1714 
1718 typedef enum
1719 {
1722 
1726 
1730 typedef struct
1731 {
1737  size_t size;
1745  const void *data;
1747 
1754 typedef enum
1755 {
1811 
1863  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_77;
1864 
1962  amd_dbgapi_client_process_id_t client_process_id,
1964 
2013 
2028 typedef enum
2029 {
2061 
2091  amd_dbgapi_process_id_t process_id,
2093 
2105 typedef enum
2106 {
2116 
2146  amd_dbgapi_process_id_t process_id,
2148 
2219 
2246 
2274 typedef struct
2275 {
2276  uint64_t handle;
2278 
2282 #define AMD_DBGAPI_CODE_OBJECT_NONE \
2283  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_code_object_id_t, 0)
2284 
2291 typedef enum
2292 {
2361 
2401  amd_dbgapi_code_object_id_t code_object_id,
2402  amd_dbgapi_code_object_info_t query, size_t value_size,
2403  void *value) AMD_DBGAPI_VERSION_0_54;
2404 
2455  amd_dbgapi_process_id_t process_id, size_t *code_object_count,
2456  amd_dbgapi_code_object_id_t **code_objects,
2458 
2475 typedef struct
2476 {
2477  uint64_t handle;
2479 
2483 #define AMD_DBGAPI_AGENT_NONE \
2484  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_agent_id_t, 0)
2485 
2492 typedef enum
2493 {
2554 
2558 typedef enum
2559 {
2588 
2633  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_67;
2634 
2687  amd_dbgapi_process_id_t process_id, size_t *agent_count,
2688  amd_dbgapi_agent_id_t **agents,
2690 
2709 typedef struct
2710 {
2711  uint64_t handle;
2713 
2717 #define AMD_DBGAPI_QUEUE_NONE \
2718  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_queue_id_t, 0)
2719 
2726 typedef enum
2727 {
2776 
2817  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_68;
2818 
2822 typedef enum
2823 {
2843 
2848 typedef enum
2849 {
2904  AMD_DBGAPI_EXCEPTION_WAVE_APERTURE_VIOLATION DEPRECATED
2944 
2998  amd_dbgapi_process_id_t process_id, size_t *queue_count,
2999  amd_dbgapi_queue_id_t **queues,
3001 
3066  amd_dbgapi_queue_id_t queue_id,
3067  amd_dbgapi_os_queue_packet_id_t *read_packet_id,
3068  amd_dbgapi_os_queue_packet_id_t *write_packet_id,
3069  size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_54;
3070 
3089 typedef struct
3090 {
3091  uint64_t handle;
3093 
3097 #define AMD_DBGAPI_DISPATCH_NONE \
3098  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_dispatch_id_t, 0)
3099 
3106 typedef enum
3107 {
3200 
3244  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
3245 
3252 typedef enum
3253 {
3264 
3271 typedef enum
3272 {
3286 
3336  amd_dbgapi_process_id_t process_id, size_t *dispatch_count,
3337  amd_dbgapi_dispatch_id_t **dispatches,
3339 
3356 typedef struct
3357 {
3358  uint64_t handle;
3360 
3364 #define AMD_DBGAPI_WORKGROUP_NONE \
3365  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0)
3366 
3373 typedef enum
3374 {
3417 
3462  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3463 
3514  amd_dbgapi_process_id_t process_id, size_t *workgroup_count,
3515  amd_dbgapi_workgroup_id_t **workgroups,
3517 
3534 typedef struct
3535 {
3536  uint64_t handle;
3538 
3542 #define AMD_DBGAPI_WAVE_NONE \
3543  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_wave_id_t, 0)
3544 
3551 typedef enum
3552 {
3661 
3710  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3711 
3715 typedef enum
3716 {
3740 
3747 typedef enum
3748 {
3907  AMD_DBGAPI_WAVE_STOP_REASON_APERTURE_VIOLATION DEPRECATED
3939 
3988  amd_dbgapi_process_id_t process_id, size_t *wave_count,
3989  amd_dbgapi_wave_id_t **waves,
3991 
4075 
4079 typedef enum
4080 {
4090 
4246  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode,
4248 
4350 typedef struct
4351 {
4352  uint64_t handle;
4354 
4358 #define AMD_DBGAPI_DISPLACED_STEPPING_NONE \
4359  (amd_dbgapi_displaced_stepping_id_t{ 0 })
4360 
4368 typedef enum
4369 {
4376 
4417  amd_dbgapi_displaced_stepping_id_t displaced_stepping_id,
4418  amd_dbgapi_displaced_stepping_info_t query, size_t value_size,
4419  void *value) AMD_DBGAPI_VERSION_0_54;
4420 
4507  amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes,
4508  amd_dbgapi_displaced_stepping_id_t *displaced_stepping)
4510 
4565  amd_dbgapi_wave_id_t wave_id,
4566  amd_dbgapi_displaced_stepping_id_t displaced_stepping)
4568 
4602 typedef struct
4603 {
4604  uint64_t handle;
4606 
4610 #define AMD_DBGAPI_WATCHPOINT_NONE \
4611  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_watchpoint_id_t, 0)
4612 
4619 typedef enum
4620 {
4637 
4677  amd_dbgapi_watchpoint_id_t watchpoint_id,
4678  amd_dbgapi_watchpoint_info_t query, size_t value_size,
4679  void *value) AMD_DBGAPI_VERSION_0_54;
4680 
4687 typedef enum
4688 {
4706 
4713 typedef enum
4714 {
4734 
4741 typedef struct
4742 {
4743  size_t count;
4746 
4819  amd_dbgapi_process_id_t process_id, amd_dbgapi_global_address_t address,
4820  amd_dbgapi_size_t size, amd_dbgapi_watchpoint_kind_t kind,
4822 
4847 
4869 typedef struct
4870 {
4871  uint64_t handle;
4873 
4877 #define AMD_DBGAPI_REGISTER_CLASS_NONE \
4878  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_class_id_t, 0)
4879 
4887 typedef enum
4888 {
4902 
4943  amd_dbgapi_register_class_id_t register_class_id,
4944  amd_dbgapi_register_class_info_t query, size_t value_size,
4945  void *value) AMD_DBGAPI_VERSION_0_54;
4946 
4988  amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count,
4990 
4999 typedef struct
5000 {
5001  uint64_t handle;
5003 
5007 #define AMD_DBGAPI_REGISTER_NONE \
5008  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_id_t, 0)
5009 
5016 typedef enum
5017 {
5043 
5050 typedef enum
5051 {
5145 
5191  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_70;
5192 
5196 typedef enum
5197 {
5207 
5242  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5244 
5290  amd_dbgapi_architecture_id_t architecture_id, size_t *register_count,
5292 
5337  amd_dbgapi_wave_id_t wave_id, size_t *register_count,
5339 
5377  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register,
5379 
5383 typedef enum
5384 {
5394 
5433  amd_dbgapi_register_class_id_t register_class_id,
5434  amd_dbgapi_register_id_t register_id,
5435  amd_dbgapi_register_class_state_t *register_class_state)
5437 
5495  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5496  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5497  void *value) AMD_DBGAPI_VERSION_0_62;
5498 
5564  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5565  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5566  const void *value) AMD_DBGAPI_VERSION_0_76;
5567 
5622  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5623  amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_62;
5624 
5632 typedef struct
5633 {
5634  amd_dbgapi_global_address_t target_address;
5635  amd_dbgapi_register_id_t saved_return_address_register[2];
5637 
5677 typedef uint32_t amd_dbgapi_lane_id_t;
5678 
5682 #define AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1))
5683 
5697 typedef struct
5698 {
5699  uint64_t handle;
5701 
5705 #define AMD_DBGAPI_ADDRESS_CLASS_NONE \
5706  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_class_id_t, 0)
5707 
5715 typedef enum
5716 {
5739 
5780  amd_dbgapi_address_class_id_t address_class_id,
5781  amd_dbgapi_address_class_info_t query, size_t value_size,
5782  void *value) AMD_DBGAPI_VERSION_0_62;
5783 
5826  amd_dbgapi_architecture_id_t architecture_id, size_t *address_class_count,
5828 
5868  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_class,
5870 
5882 typedef struct
5883 {
5884  uint64_t handle;
5886 
5890 #define AMD_DBGAPI_ADDRESS_SPACE_NONE \
5891  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 0)
5892 
5899 #define AMD_DBGAPI_ADDRESS_SPACE_GLOBAL \
5900  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 1)
5901 
5905 typedef enum
5906 {
5923 
5931 typedef enum
5932 {
5961 
6001  amd_dbgapi_address_space_id_t address_space_id,
6002  amd_dbgapi_address_space_info_t query, size_t value_size,
6003  void *value) AMD_DBGAPI_VERSION_0_62;
6004 
6044  amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count,
6046 
6087  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space,
6089 
6107 
6223  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6224  amd_dbgapi_address_space_id_t source_address_space_id,
6225  amd_dbgapi_segment_address_t source_segment_address,
6226  amd_dbgapi_address_space_id_t destination_address_space_id,
6227  amd_dbgapi_segment_address_t *destination_segment_address,
6228  amd_dbgapi_size_t *destination_contiguous_bytes)
6230 
6236 typedef enum
6237 {
6263 
6303  amd_dbgapi_address_space_id_t address_space_id,
6304  amd_dbgapi_segment_address_t segment_address,
6305  amd_dbgapi_segment_address_dependency_t *segment_address_dependency)
6307 
6312 typedef enum
6313 {
6325 
6398  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6399  amd_dbgapi_address_space_id_t address_space_id,
6400  amd_dbgapi_segment_address_t segment_address,
6401  amd_dbgapi_address_class_id_t address_class_id,
6402  amd_dbgapi_address_class_state_t *address_class_state)
6404 
6504  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6505  amd_dbgapi_lane_id_t lane_id,
6506  amd_dbgapi_address_space_id_t address_space_id,
6507  amd_dbgapi_segment_address_t segment_address,
6508  amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_54;
6509 
6613  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6614  amd_dbgapi_lane_id_t lane_id,
6615  amd_dbgapi_address_space_id_t address_space_id,
6616  amd_dbgapi_segment_address_t segment_address,
6617  amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_76;
6618 
6637 typedef enum
6638 {
6650 
6690  amd_dbgapi_process_id_t process_id,
6692 
6711 typedef enum
6712 {
6725 
6766  amd_dbgapi_process_id_t process_id,
6767  amd_dbgapi_alu_exceptions_precision_t alu_exceptions_precision)
6769 
6801 typedef struct
6802 {
6803  uint64_t handle;
6805 
6809 #define AMD_DBGAPI_EVENT_NONE \
6810  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_event_id_t, 0)
6811 
6815 typedef enum
6816 {
6925 
6962  amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id,
6964 
6968 typedef enum
6969 {
6986 
6993 typedef enum
6994 {
7034 
7076  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
7077 
7105 
7127 typedef enum
7128 {
7155 
7176 
7202 typedef struct
7203 {
7204  uint64_t handle;
7206 
7210 #define AMD_DBGAPI_BREAKPOINT_NONE \
7211  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0)
7212 
7219 typedef enum
7220 {
7227 
7267  amd_dbgapi_breakpoint_id_t breakpoint_id,
7268  amd_dbgapi_breakpoint_info_t query, size_t value_size,
7269  void *value) AMD_DBGAPI_VERSION_0_54;
7270 
7274 typedef enum
7275 {
7285 
7295 typedef struct amd_dbgapi_client_thread_s *amd_dbgapi_client_thread_id_t;
7296 
7335  amd_dbgapi_breakpoint_id_t breakpoint_id,
7336  amd_dbgapi_client_thread_id_t client_thread_id,
7338 
7345 typedef enum
7346 {
7369 
7377 {
7378 
7390  void *(*allocate_memory) (size_t byte_size);
7391 
7408  void (*deallocate_memory) (void *data);
7409 
7445  amd_dbgapi_client_process_id_t client_process_id,
7447  size_t value_size, void *value);
7448 
7485  amd_dbgapi_client_process_id_t client_process_id,
7486  amd_dbgapi_global_address_t address,
7487  amd_dbgapi_breakpoint_id_t breakpoint_id);
7488 
7520  amd_dbgapi_client_process_id_t client_process_id,
7521  amd_dbgapi_breakpoint_id_t breakpoint_id);
7522 
7560  amd_dbgapi_client_process_id_t client_process_id,
7561  amd_dbgapi_global_address_t global_address,
7562  amd_dbgapi_size_t *value_size, void *read_buffer,
7563  const void *write_buffer);
7564 
7573  void (*log_message) (amd_dbgapi_log_level_t level, const char *message);
7574 };
7575 
7578 #if defined(__cplusplus)
7579 } /* extern "C" */
7580 #endif /* defined (__cplusplus) */
7581 
7582 #endif /* amd-dbgapi.h */
Queue supports the AMD PM4 protocol.
Definition: amd-dbgapi.h:763
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:2475
Return the event kind.
Definition: amd-dbgapi.h:7004
The wave stopped due to executing an assert trap instruction.
Definition: amd-dbgapi.h:3862
uint64_t amd_dbgapi_global_address_t
Integral type used for a global virtual memory address in the inferior process.
Definition: amd-dbgapi.h:648
void(* deallocate_memory)(void *data)
Deallocate memory that was allocated by amd_dbgapi_callbacks_s::allocate_memory.
Definition: amd-dbgapi.h:7408
The wave stopped due to detecting an unrecoverable ECC error.
Definition: amd-dbgapi.h:3930
uint64_t handle
Definition: amd-dbgapi.h:6803
uint64_t handle
Definition: amd-dbgapi.h:1207
Return the dispatch grid size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3163
The address space is only read the waves of a kernel dispatch.
Definition: amd-dbgapi.h:5921
A set of watchpoints.
Definition: amd-dbgapi.h:4741
The wave stopped due to a memory violation.
Definition: amd-dbgapi.h:3888
The wave stopped due to triggering an enabled floating point invalid operation exception.
Definition: amd-dbgapi.h:3823
There are no properties.
Definition: amd-dbgapi.h:5021
A wave waits for memory instructions to complete before executing further instructions.
Definition: amd-dbgapi.h:6648
The client process handle is invalid.
Definition: amd-dbgapi.h:999
uint64_t amd_dbgapi_os_queue_id_t
Native operating system queue ID.
Definition: amd-dbgapi.h:727
An invalid argument was given to the function.
Definition: amd-dbgapi.h:836
uint64_t handle
Definition: amd-dbgapi.h:4604
Opaque displaced stepping handle.
Definition: amd-dbgapi.h:4350
Print fatal error messages.
Definition: amd-dbgapi.h:7137
There is a fence with system memory scope.
Definition: amd-dbgapi.h:3284
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:983
The instruction causes the wave to stop executing for some period of time, before continuing executio...
Definition: amd-dbgapi.h:1567
amd_dbgapi_wave_creation_t
The kinds of wave creation supported by the hardware.
Definition: amd-dbgapi.h:2105
Reading or writing the segment address depends on the wavefront.
Definition: amd-dbgapi.h:6249
Queue is in a valid state.
Definition: amd-dbgapi.h:2827
Opaque queue handle.
Definition: amd-dbgapi.h:2709
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:4692
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:7141
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:6978
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:1704
Read access by load instructions.
Definition: amd-dbgapi.h:4718
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:6723
The instruction classification is unknown.
Definition: amd-dbgapi.h:1472
Native operating system queue ID.
Definition: amd-dbgapi.h:2774
The register value may change as a consequence of changing a register of the same wavefront with the ...
Definition: amd-dbgapi.h:5034
The instruction terminates the wave execution.
Definition: amd-dbgapi.h:1535
The number of lanes supported by the wave.
Definition: amd-dbgapi.h:3659
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:7274
Return how watchpoints are shared between processes.
Definition: amd-dbgapi.h:1772
Return the architecture of this dispatch.
Definition: amd-dbgapi.h:3127
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:5723
If the current process is created from a core file, return the content of the AMDGPU state note if pr...
Definition: amd-dbgapi.h:7367
There is a fence with agent memory scope.
Definition: amd-dbgapi.h:3280
The address space is read only.
Definition: amd-dbgapi.h:5916
amd_dbgapi_wave_state_t
The execution state of a wave.
Definition: amd-dbgapi.h:3715
#define AMD_DBGAPI_VERSION_0_56
The function was introduced in version 0.56 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:568
Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3158
uint32_t amd_dbgapi_lane_id_t
A wave lane handle.
Definition: amd-dbgapi.h:5677
const void * data
Pointer to the buffer containing the core state data.
Definition: amd-dbgapi.h:1745
Return the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
Definition: amd-dbgapi.h:1239
There is no fence.
Definition: amd-dbgapi.h:3276
The wave is running in single-step mode.
Definition: amd-dbgapi.h:3725
amd_dbgapi_changed_t
Indication of if a value has changed.
Definition: amd-dbgapi.h:658
The wave is stopped.
Definition: amd-dbgapi.h:921
amd_dbgapi_register_exists_t
Indication of if a wave has a register.
Definition: amd-dbgapi.h:5196
The wave&#39;s number in the workgroup.
Definition: amd-dbgapi.h:3654
The wave cannot be resumed.
Definition: amd-dbgapi.h:929
The wave does not have the register.
Definition: amd-dbgapi.h:5201
Opaque register class handle.
Definition: amd-dbgapi.h:4869
uint64_t handle
Definition: amd-dbgapi.h:1706
The segment address in the address space is a member of the source language address class...
Definition: amd-dbgapi.h:6323
Return the architecture to which this register class belongs.
Definition: amd-dbgapi.h:4893
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:2492
amd_dbgapi_dispatch_barrier_t
Dispatch barrier.
Definition: amd-dbgapi.h:3252
Return the size of the register in bytes.
Definition: amd-dbgapi.h:5068
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:7559
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:942
A dispatch packet on the queue has an invalid workgroup size.
Definition: amd-dbgapi.h:2925
Instruction information for direct call instructions.
Definition: amd-dbgapi.h:5632
amd_dbgapi_global_address_t target_address
Definition: amd-dbgapi.h:5634
No more watchpoints available.
Definition: amd-dbgapi.h:955
Opaque hardware data watchpoint handle.
Definition: amd-dbgapi.h:4602
amd_dbgapi_wave_stop_reasons_t
A bit mask of the reasons that a wave stopped.
Definition: amd-dbgapi.h:3747
Return the wave of a AMD_DBGAPI_EVENT_KIND_WAVE_STOP or AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED...
Definition: amd-dbgapi.h:7010
amd_dbgapi_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:7204
Return the breakpoint of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:7015
Print no messages.
Definition: amd-dbgapi.h:7132
A wave on the queue had an exception due to accessing an invalid memory address.
Definition: amd-dbgapi.h:2900
Return the architecture of this wave.
Definition: amd-dbgapi.h:3617
Changing the value of the register may change a register of the same wavefront with the AMD_DBGAPI_RE...
Definition: amd-dbgapi.h:5041
Opaque workgroup handle.
Definition: amd-dbgapi.h:3356
amd_dbgapi_log_level_t
The logging levels supported.
Definition: amd-dbgapi.h:7127
Return the process to which this code object belongs.
Definition: amd-dbgapi.h:2297
The byte size of the created watchpoint.
Definition: amd-dbgapi.h:4635
The watchpoint handle is invalid.
Definition: amd-dbgapi.h:951
Return the dispatch to which this workgroup belongs.
Definition: amd-dbgapi.h:3384
No forward progress is needed.
Definition: amd-dbgapi.h:2059
uint64_t amd_dbgapi_os_agent_id_t
Native operating system agent ID.
Definition: amd-dbgapi.h:717
PCI slot of the agent in BDF format (see [Bus:Device.Function (BDF) Notation][bfd].
Definition: amd-dbgapi.h:2529
The instruction enters the trap handler.
Definition: amd-dbgapi.h:1549
The function has executed successfully.
Definition: amd-dbgapi.h:792
The value has changed.
Definition: amd-dbgapi.h:667
Read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4727
The wave stopped due to executing a breakpoint instruction.
Definition: amd-dbgapi.h:3759
Return if the architectures of all the agents of a process support controlling ALU exceptions reporti...
Definition: amd-dbgapi.h:1785
The instruction has some form of special behavior not covered by any of the other instruction kinds...
Definition: amd-dbgapi.h:1576
The wave is not stopped.
Definition: amd-dbgapi.h:917
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:2887
amd_dbgapi_queue_state_t
Queue state.
Definition: amd-dbgapi.h:2822
Return the agent to which this workgroup belongs.
Definition: amd-dbgapi.h:3394
Queue supports the AMD SDMA protocol.
Definition: amd-dbgapi.h:767
The code object handle is invalid.
Definition: amd-dbgapi.h:884
The wave stopped due to triggering a data watchpoint.
Definition: amd-dbgapi.h:3771
Return the dispatch barrier setting.
Definition: amd-dbgapi.h:3138
#define AMD_DBGAPI_VERSION_0_54
The function was introduced in version 0.54 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:562
amd_dbgapi_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:6717
The inferior&#39;s runtime has put a queue into the queue error state due to exceptions being reported fo...
Definition: amd-dbgapi.h:6923
amd_dbgapi_event_info_t
Event queries that are supported by amd_dbgapi_event_get_info.
Definition: amd-dbgapi.h:6993
amd_dbgapi_runtime_state_t
Inferior&#39;s runtime state.
Definition: amd-dbgapi.h:6968
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize(void) AMD_DBGAPI_VERSION_0_54
Finalize the library.
Resume execution.
Definition: amd-dbgapi.h:7279
PCI vendor ID of the agent.
Definition: amd-dbgapi.h:2533
The list of code objects has changed.
Definition: amd-dbgapi.h:6861
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:3557
Return the dispatch release fence.
Definition: amd-dbgapi.h:3148
The requested information is not available.
Definition: amd-dbgapi.h:828
Return the queue to which this wave belongs.
Definition: amd-dbgapi.h:3602
The instruction unconditionally branches to a literal address.
Definition: amd-dbgapi.h:1484
uint64_t handle
Definition: amd-dbgapi.h:3358
The breakpoint handle is invalid.
Definition: amd-dbgapi.h:991
Return the reason the wave stopped as a bit set.
Definition: amd-dbgapi.h:3564
The library is already initialized.
Definition: amd-dbgapi.h:844
amd_dbgapi_code_object_info_t
Code object queries that are supported by amd_dbgapi_code_object_get_info.
Definition: amd-dbgapi.h:2291
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:2732
amd_dbgapi_status_t(* insert_breakpoint)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_global_address_t address, amd_dbgapi_breakpoint_id_t breakpoint_id)
Insert a breakpoint in a shared library using a global address.
Definition: amd-dbgapi.h:7484
#define AMD_DBGAPI_VERSION_0_70
The function was introduced in version 0.70 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:604
int amd_dbgapi_notifier_t
Type used to notify the client of the library that a process may have pending events.
Definition: amd-dbgapi.h:706
The instruction unconditionally branches to an address held in a pair of registers.
Definition: amd-dbgapi.h:1499
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:512
A command for a wave was not able to complete because the wave has terminated.
Definition: amd-dbgapi.h:6839
Return the byte size of an address in the address space.
Definition: amd-dbgapi.h:5944
Agent name.
Definition: amd-dbgapi.h:2504
The lane handle is invalid.
Definition: amd-dbgapi.h:967
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:913
Opaque code object handle.
Definition: amd-dbgapi.h:2274
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:2519
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:6312
Return the AMD GPU DWARF address space number for the address space&#39;s architecture.
Definition: amd-dbgapi.h:5959
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:5715
uint64_t handle
Definition: amd-dbgapi.h:4352
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:3791
Return the address space access.
Definition: amd-dbgapi.h:5954
PCI domain the agent is in.
Definition: amd-dbgapi.h:2523
The process is already frozen.
Definition: amd-dbgapi.h:1024
The register class handle is invalid.
Definition: amd-dbgapi.h:959
If none of the bits are set, then amd_dbgapi_wave_stop stopped the wave.
Definition: amd-dbgapi.h:3753
Return the dispatch completion event address.
Definition: amd-dbgapi.h:3198
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:3404
amd_dbgapi_register_class_state_t
Indication of whether a register is a member of a register class.
Definition: amd-dbgapi.h:5383
Encoding is done using big endian.
Definition: amd-dbgapi.h:1721
The instruction unconditionally halts the wave.
Definition: amd-dbgapi.h:1554
Return the number of data watchpoints supported by the process.
Definition: amd-dbgapi.h:1766
uint64_t handle
Definition: amd-dbgapi.h:4871
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:4713
The notifier for the process that indicates if pending events are available.
Definition: amd-dbgapi.h:1760
void(* log_message)(amd_dbgapi_log_level_t level, const char *message)
Report a log message.
Definition: amd-dbgapi.h:7573
The wave stopped due to triggering an enabled floating point overflow exception.
Definition: amd-dbgapi.h:3799
Return the dispatch acquire fence.
Definition: amd-dbgapi.h:3143
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:6801
#define AMD_DBGAPI_VERSION_0_76
The function was introduced in version 0.76 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:610
The runtime support in the inferior is enabled or disabled.
Definition: amd-dbgapi.h:6889
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:2035
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:4744
Return the process to which this breakpoint belongs.
Definition: amd-dbgapi.h:7225
A wave on the queue executed a trap instruction used to abort a dispatch.
Definition: amd-dbgapi.h:2857
Return the dispatch to which this wave belongs.
Definition: amd-dbgapi.h:3597
AMDGPU corefile state data for a process.
Definition: amd-dbgapi.h:1730
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:840
Return the queue packet ID of the dispatch packet that initiated the dispatch.
Definition: amd-dbgapi.h:3133
amd_dbgapi_event_kind_t
The event kinds.
Definition: amd-dbgapi.h:6815
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:2929
Return the register class name.
Definition: amd-dbgapi.h:4900
The instruction unconditionally branches to an address held in a pair of source registers and the add...
Definition: amd-dbgapi.h:1530
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:925
The library is not initialized.
Definition: amd-dbgapi.h:848
The symbol was not found.
Definition: amd-dbgapi.h:1003
Write access by store instructions or read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4723
#define AMD_DBGAPI_VERSION_0_64
The function was introduced in version 0.64 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:586
Return the register handle for the PC for the architecture.
Definition: amd-dbgapi.h:1274
amd_dbgapi_status_t(* client_process_get_info)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_client_process_info_t query, size_t value_size, void *value)
Query information about the client process.
Definition: amd-dbgapi.h:7444
amd_dbgapi_address_space_access_t
Indication of how the address space is accessed.
Definition: amd-dbgapi.h:5905
Queue supports the AMD SDMA XGMI protocol.
Definition: amd-dbgapi.h:771
The bytes being disassembled are not a legal instruction.
Definition: amd-dbgapi.h:880
uint64_t handle
Definition: amd-dbgapi.h:2711
Reading or writing the segment address depends on the workgroup.
Definition: amd-dbgapi.h:6253
uint64_t amd_dbgapi_segment_address_t
Each address space has its own linear address to access it termed a segment address.
Definition: amd-dbgapi.h:6106
The instruction has no properties.
Definition: amd-dbgapi.h:1587
#define AMD_DBGAPI_VERSION_0_67
The function was introduced in version 0.67 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:592
A wave on the queue executed an instruction that caused an exception.
Definition: amd-dbgapi.h:2867
Return the AMD GPU DWARF register number for the register&#39;s architecture.
Definition: amd-dbgapi.h:5138
Dispatch has a barrier.
Definition: amd-dbgapi.h:3262
Return the breakpoint instruction for the architecture.
Definition: amd-dbgapi.h:1263
uint64_t amd_dbgapi_os_queue_packet_id_t
Native operating system queue packet ID.
Definition: amd-dbgapi.h:739
The value has not changed.
Definition: amd-dbgapi.h:663
The instruction conditionally branches to a literal address.
Definition: amd-dbgapi.h:1491
The URI name of the ELF shared object from which the code object was loaded.
Definition: amd-dbgapi.h:2353
Opaque address space handle.
Definition: amd-dbgapi.h:5882
The ELF AMD GPU machine value is invalid or unsupported.
Definition: amd-dbgapi.h:888
amd_dbgapi_client_process_info_t
Client queries that are supported by the client_process_get_info callback.
Definition: amd-dbgapi.h:7345
The difference between the address in the ELF shared object and the address the code object is loaded...
Definition: amd-dbgapi.h:2359
The address space supports all accesses.
Definition: amd-dbgapi.h:5911
The register handle is invalid.
Definition: amd-dbgapi.h:963
The wave stopped due to executing a debug trap instruction.
Definition: amd-dbgapi.h:3846
#define AMD_DBGAPI_VERSION_0_77
The function was introduced in version 0.77 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:616
The wave stopped due to triggering an enabled floating point inexact exception.
Definition: amd-dbgapi.h:3815
Memory instructions execute normally and a wave does not wait for the memory access to complete...
Definition: amd-dbgapi.h:6643
Reading or writing the segment address depends on the process.
Definition: amd-dbgapi.h:6261
Native operating system process ID.
Definition: amd-dbgapi.h:1799
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:1754
Return the queue of a AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR event.
Definition: amd-dbgapi.h:7032
uint64_t handle
Definition: amd-dbgapi.h:3091
The register is not a member of the register class.
Definition: amd-dbgapi.h:5388
The address class handle is invalid.
Definition: amd-dbgapi.h:971
amd_dbgapi_workgroup_info_t
Workgroup queries that are supported by amd_dbgapi_workgroup_get_info.
Definition: amd-dbgapi.h:3373
A wave has stopped.
Definition: amd-dbgapi.h:6824
Return the process to which this dispatch belongs.
Definition: amd-dbgapi.h:3122
amd_dbgapi_architecture_info_t
Architecture queries that are supported by amd_dbgapi_architecture_get_info.
Definition: amd-dbgapi.h:1223
#define AMD_DBGAPI_VERSION_0_62
The function was introduced in version 0.62 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:580
Return the process to which this wave belongs.
Definition: amd-dbgapi.h:3612
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:4999
amd_dbgapi_alu_exceptions_precision_t
ALU exceptions reporting precision.
Definition: amd-dbgapi.h:6711
Return the register&#39;s properties.
Definition: amd-dbgapi.h:5143
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:3271
Return the architecture to which this register belongs.
Definition: amd-dbgapi.h:5056
Agent does not support debugging.
Definition: amd-dbgapi.h:2586
The watchpoints of a process are shared between all processes.
Definition: amd-dbgapi.h:4704
If none of the bits are set, then the queue is not in the error state.
Definition: amd-dbgapi.h:2853
Maximum number of waves supported by an execution unit.
Definition: amd-dbgapi.h:2547
The event handle is invalid.
Definition: amd-dbgapi.h:987
Normal wave creation allows new waves to be created.
Definition: amd-dbgapi.h:2110
Return the dispatch group segment size in bytes.
Definition: amd-dbgapi.h:3173
This operation is not allowed when the process is frozen.
Definition: amd-dbgapi.h:1020
Return the address space name.
Definition: amd-dbgapi.h:5939
This operation is not allowed when the process is not frozen.
Definition: amd-dbgapi.h:1028
Return the size in bytes of the memory holding the queue packets.
Definition: amd-dbgapi.h:2769
pid_t amd_dbgapi_os_process_id_t
Native operating system process ID.
Definition: amd-dbgapi.h:678
Encoding is done using little endian.
Definition: amd-dbgapi.h:1724
Return the architecture name.
Definition: amd-dbgapi.h:1231
Return the agent to which this dispatch belongs.
Definition: amd-dbgapi.h:3117
The wave stopped due to completing an instruction single-step.
Definition: amd-dbgapi.h:3775
The displaced stepping handle is invalid.
Definition: amd-dbgapi.h:933
Resume execution in in single step mode.
Definition: amd-dbgapi.h:4088
A fatal error has occurred.
Definition: amd-dbgapi.h:818
amd_dbgapi_queue_info_t
Queue queries that are supported by amd_dbgapi_queue_get_info.
Definition: amd-dbgapi.h:2726
The inferior&#39;s runtime has been loaded and debugging is supported by the library. ...
Definition: amd-dbgapi.h:6974
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:6318
Return the dispatch kernel code entry address.
Definition: amd-dbgapi.h:3188
amd_dbgapi_register_info_t
Register queries that are supported by amd_dbgapi_register_get_info.
Definition: amd-dbgapi.h:5050
Return the process to which this event belongs.
Definition: amd-dbgapi.h:6999
uint64_t handle
Definition: amd-dbgapi.h:2477
size_t count
Definition: amd-dbgapi.h:4743
No dependence is available.
Definition: amd-dbgapi.h:6241
The watchpoints are not shared across processes.
Definition: amd-dbgapi.h:4698
amd_dbgapi_register_class_info_t
Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info.
Definition: amd-dbgapi.h:4887
Return the agent to which this wave belongs.
Definition: amd-dbgapi.h:3607
The wave stopped due to an aperture violation.
Definition: amd-dbgapi.h:3903
Agent supports debugging.
Definition: amd-dbgapi.h:2563
Request to resume a host breakpoint.
Definition: amd-dbgapi.h:6874
The process handle is invalid.
Definition: amd-dbgapi.h:892
The instruction conditionally branches to an address held in a pair of registers. ...
Definition: amd-dbgapi.h:1509
Return the architecture specific address space that is used to implement a pointer or reference to th...
Definition: amd-dbgapi.h:5732
amd_dbgapi_watchpoint_info_t
Watchpoint queries that are supported by amd_dbgapi_watchpoint_get_info.
Definition: amd-dbgapi.h:4619
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:1520
The address space handle is invalid.
Definition: amd-dbgapi.h:975
Print fatal error, warning, and info messages.
Definition: amd-dbgapi.h:7145
Opaque dispatch handle.
Definition: amd-dbgapi.h:3089
Return the base address of the memory holding the queue packets.
Definition: amd-dbgapi.h:2764
Return the client thread of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:7020
The instruction executes sequentially.
Definition: amd-dbgapi.h:1478
The wave has the register.
Definition: amd-dbgapi.h:5205
Return the queue to which this dispatch belongs.
Definition: amd-dbgapi.h:3112
The inferior&#39;s runtime has been loaded but there is a restriction error that prevents debugging the p...
Definition: amd-dbgapi.h:6984
Return if the runtime loaded in the inferior is supported by the library for a AMD_DBGAPI_EVENT_KIND_...
Definition: amd-dbgapi.h:7027
amd_dbgapi_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:6236
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:7376
amd_dbgapi_instruction_properties_t
A bit mask of the properties of an instruction.
Definition: amd-dbgapi.h:1582
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:2909
There is a restriction error that prevents the operation to complete.
Definition: amd-dbgapi.h:868
The wave stopped due to executing a trap instruction other than the AMD_DBGAPI_WAVE_STOP_REASON_DEBUG...
Definition: amd-dbgapi.h:3872
amd_dbgapi_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:1255
Return the dispatch private segment size in bytes.
Definition: amd-dbgapi.h:3168
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:5697
A wave on the queue executed an instruction that had a floating point or integer enabled exception co...
Definition: amd-dbgapi.h:2883
No more displaced stepping buffers are available that are suitable for the requested wave...
Definition: amd-dbgapi.h:938
Unknown queue type.
Definition: amd-dbgapi.h:755
Return the process to which this queue belongs.
Definition: amd-dbgapi.h:2737
Return a blob containing the content to put in the state note when generating a core dump...
Definition: amd-dbgapi.h:1809
amd_dbgapi_progress_t
The kinds of progress supported by the library.
Definition: amd-dbgapi.h:2028
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:7219
amd_dbgapi_agent_state_t
Agent state.
Definition: amd-dbgapi.h:2558
Return the set of exceptions that caused the queue to enter the queue error state.
Definition: amd-dbgapi.h:2759
amd_dbgapi_endianness_t endianness
Endianness encoding of the core state.
Definition: amd-dbgapi.h:1733
The operation is not currently implemented.
Definition: amd-dbgapi.h:824
amd_dbgapi_register_properties_t
A bit mask on register properties.
Definition: amd-dbgapi.h:5016
amd_dbgapi_memory_precision_t
Memory access precision.
Definition: amd-dbgapi.h:6637
uint64_t handle
Definition: amd-dbgapi.h:2276
Reading or writing the segment address depends on the lane.
Definition: amd-dbgapi.h:6245
Return the process to which this watchpoint belongs.
Definition: amd-dbgapi.h:4625
Opaque wave handle.
Definition: amd-dbgapi.h:3534
The current process state is not compatible with the requested operation.
Definition: amd-dbgapi.h:1016
Return the number of bytes to subtract from the PC after stopping due to a breakpoint instruction to ...
Definition: amd-dbgapi.h:1269
amd_dbgapi_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:3536
#define AMD_DBGAPI_VERSION_0_68
The function was introduced in version 0.68 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:598
Return the largest instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1244
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:5931
Return the minimum instruction alignment in bytes for the architecture.
Definition: amd-dbgapi.h:1250
The native operating system process associated with a client process has exited.
Definition: amd-dbgapi.h:897
The instruction performs some kind of execution barrier which may result in the wave being halted unt...
Definition: amd-dbgapi.h:1561
The wave stopped due to triggering an enabled floating point input denormal exception.
Definition: amd-dbgapi.h:3783
Stop wave creation prevents new waves from being created.
Definition: amd-dbgapi.h:2114
Native operating system agent ID.
Definition: amd-dbgapi.h:2552
Return the dispatch kernel descriptor address.
Definition: amd-dbgapi.h:3183
The wave is running.
Definition: amd-dbgapi.h:3720
No event.
Definition: amd-dbgapi.h:6820
Resume normal execution.
Definition: amd-dbgapi.h:4084
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:2848
The operation is not supported.
Definition: amd-dbgapi.h:832
uint64_t handle
Definition: amd-dbgapi.h:5001
uint64_t handle
Definition: amd-dbgapi.h:5884
The workgroup workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3415
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:1012
Return the dispatch grid dimensionality.
Definition: amd-dbgapi.h:3153
uint64_t amd_dbgapi_size_t
Integral type used for sizes, including memory allocations, in the inferior.
Definition: amd-dbgapi.h:653
Return the NULL segment address value in the address space.
Definition: amd-dbgapi.h:5949
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:3389
The register handle is valid, but specifies a register that is not allocated in the associated wave...
Definition: amd-dbgapi.h:1008
#define DEPRECATED
Old deprecated name kept for backward compatibility.
Definition: amd-dbgapi.h:529
Return the dispatch kernel argument segment address.
Definition: amd-dbgapi.h:3178
Return the architecture of this queue.
Definition: amd-dbgapi.h:2742
Return the workgroup to which this wave belongs.
Definition: amd-dbgapi.h:3587
The register is a member of the register class.
Definition: amd-dbgapi.h:5392
Return the architecture of this agent.
Definition: amd-dbgapi.h:2514
There was an error preempting the queue.
Definition: amd-dbgapi.h:2942
Return the process to which this workgroup belongs.
Definition: amd-dbgapi.h:3399
Queue supports the HSA AQL protocol.
Definition: amd-dbgapi.h:759
Return the process to which this displaced stepping buffer belongs.
Definition: amd-dbgapi.h:4374
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:7149
A wave on the queue had a memory violation.
Definition: amd-dbgapi.h:2893
Total number of Execution Units (EUs) available in the agent.
Definition: amd-dbgapi.h:2542
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:995
amd_dbgapi_os_queue_type_t
Native operating system queue type.
Definition: amd-dbgapi.h:750
amd_dbgapi_resume_mode_t
The mode in which to resuming the execution of a wave.
Definition: amd-dbgapi.h:4079
size_t size
Size, in bytes, of the buffer pointed by amd_dbgapi_core_state_data_t::data.
Definition: amd-dbgapi.h:1737
A dispatch packet on the queue has a NULL code address.
Definition: amd-dbgapi.h:2917
Return the native operating system process handle.
Definition: amd-dbgapi.h:7357
amd_dbgapi_status_t
AMD debugger API status codes.
Definition: amd-dbgapi.h:787
Return the current program counter value of the wave.
Definition: amd-dbgapi.h:3623
The agent handle is invalid.
Definition: amd-dbgapi.h:901
The base address of the created watchpoint.
Definition: amd-dbgapi.h:4630
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:5737
The architecture handle is invalid.
Definition: amd-dbgapi.h:876
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:7283
At least one bit of the register value is readonly.
Definition: amd-dbgapi.h:5027
Opaque architecture handle.
Definition: amd-dbgapi.h:1205
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:3807
Return the queue type.
Definition: amd-dbgapi.h:2747
amd_dbgapi_wave_info_t
Wave queries that are supported by amd_dbgapi_wave_get_info.
Definition: amd-dbgapi.h:3551
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:5699
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:2752
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:3738
Return the process to which this agent belongs.
Definition: amd-dbgapi.h:2498
Reading or writing the segment address depends on the agent.
Definition: amd-dbgapi.h:6257
A packet on the queue has an invalid vendor code.
Definition: amd-dbgapi.h:2933
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:2841
struct amd_dbgapi_symbolizer_id_s * amd_dbgapi_symbolizer_id_t
Opaque client symbolizer handle.
Definition: amd-dbgapi.h:1358
An error occurred while trying to access memory in the inferior.
Definition: amd-dbgapi.h:979
A generic error has occurred.
Definition: amd-dbgapi.h:796
A dispatch packet on the queue has an invalid group segment size.
Definition: amd-dbgapi.h:2913
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:872
struct amd_dbgapi_client_process_s * amd_dbgapi_client_process_id_t
Opaque client process handle.
Definition: amd-dbgapi.h:1692
amd_dbgapi_displaced_stepping_info_t
Displaced stepping queries that are supported by amd_dbgapi_displaced_stepping_id_t.
Definition: amd-dbgapi.h:4368
Dispatch has no barrier.
Definition: amd-dbgapi.h:3257
The wave stopped due to executing an illegal instruction.
Definition: amd-dbgapi.h:3917
amd_dbgapi_watchpoint_share_kind_t
The way watchpoints are shared between processes.
Definition: amd-dbgapi.h:4687
The dispatch handle is invalid.
Definition: amd-dbgapi.h:909
amd_dbgapi_instruction_kind_t
The kinds of instruction classifications.
Definition: amd-dbgapi.h:1466
Read, write, or read-modify-write access by load, store, or atomic instructions.
Definition: amd-dbgapi.h:4732
Return the watchpoint(s) the wave triggered.
Definition: amd-dbgapi.h:3577
A packet on the queue has an unsupported code.
Definition: amd-dbgapi.h:2921
struct amd_dbgapi_client_thread_s * amd_dbgapi_client_thread_id_t
Opaque client thread handle.
Definition: amd-dbgapi.h:7295
Return the register name.
Definition: amd-dbgapi.h:5063
The wave workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3642
Return if the architectures of all the agents of a process support controlling memory precision...
Definition: amd-dbgapi.h:1778
Print fatal error, warning, info, API tracing, and verbose messages.
Definition: amd-dbgapi.h:7153
The queue handle is invalid.
Definition: amd-dbgapi.h:905
amd_dbgapi_status_t(* remove_breakpoint)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_breakpoint_id_t breakpoint_id)
Remove a breakpoint previously inserted by amd_dbgapi_callbacks_s::insert_breakpoint.
Definition: amd-dbgapi.h:7519
The wave stopped due to triggering an enabled integer divide by zero exception.
Definition: amd-dbgapi.h:3831
PCI device ID of the agent.
Definition: amd-dbgapi.h:2537
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:5129
amd_dbgapi_dispatch_info_t
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Definition: amd-dbgapi.h:3106
amd_dbgapi_endianness_t
Byte endianness encoding.
Definition: amd-dbgapi.h:1718
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:574
The wave stopped after causing a hardware fatal halt.
Definition: amd-dbgapi.h:3937
The wave cannot be resumed in the manner requested due to displaced stepping restrictions.
Definition: amd-dbgapi.h:947
Opaque breakpoint handle.
Definition: amd-dbgapi.h:7202
Return the current execution mask of the wave.
Definition: amd-dbgapi.h:3631
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.