AMD_DBGAPI  0.77.0
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 
467 #ifndef AMD_DBGAPI_H
468 #define AMD_DBGAPI_H 1
469 
470 /* Placeholder for calling convention and import/export macros */
471 #if !defined(AMD_DBGAPI_CALL)
472 #define AMD_DBGAPI_CALL
473 #endif /* !defined (AMD_DBGAPI_CALL) */
474 
475 #if !defined(AMD_DBGAPI_EXPORT_DECORATOR)
476 #if defined(__GNUC__)
477 #define AMD_DBGAPI_EXPORT_DECORATOR __attribute__ ((visibility ("default")))
478 #elif defined(_MSC_VER)
479 #define AMD_DBGAPI_EXPORT_DECORATOR __declspec(dllexport)
480 #endif /* defined (_MSC_VER) */
481 #endif /* !defined (AMD_DBGAPI_EXPORT_DECORATOR) */
482 
483 #if !defined(AMD_DBGAPI_IMPORT_DECORATOR)
484 #if defined(__GNUC__)
485 #define AMD_DBGAPI_IMPORT_DECORATOR
486 #elif defined(_MSC_VER)
487 #define AMD_DBGAPI_IMPORT_DECORATOR __declspec(dllimport)
488 #endif /* defined (_MSC_VER) */
489 #endif /* !defined (AMD_DBGAPI_IMPORT_DECORATOR) */
490 
491 #define AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL
492 #define AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL
493 
494 #if !defined(AMD_DBGAPI)
495 #if defined(AMD_DBGAPI_EXPORTS)
496 #define AMD_DBGAPI AMD_DBGAPI_EXPORT
497 #else /* !defined (AMD_DBGAPI_EXPORTS) */
498 #define AMD_DBGAPI AMD_DBGAPI_IMPORT
499 #endif /* !defined (AMD_DBGAPI_EXPORTS) */
500 #endif /* !defined (AMD_DBGAPI) */
501 
502 #if __cplusplus >= 201103L
503 /* c++11 allows extended initializer lists. */
504 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) (type{ value })
505 #elif __STDC_VERSION__ >= 199901L
506 /* c99 allows compound literals. */
507 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) ((type){ value })
508 #else /* !__STDC_VERSION__ >= 199901L */
509 #define AMD_DBGAPI_HANDLE_LITERAL(type, value) {value}
510 #endif /* !__STDC_VERSION__ >= 199901L */
511 
512 #if defined(__cplusplus) && __cplusplus >= 201402L
513 #define DEPRECATED [[deprecated]]
514 #else
515 #define DEPRECATED
516 #endif
517 
518 #if defined(__cplusplus)
519 extern "C" {
520 #endif /* defined (__cplusplus) */
521 
522 #if defined(__linux__)
523 #include <sys/types.h>
524 #endif /* __linux__ */
525 
526 #include <stddef.h>
527 #include <stdint.h>
528 
548 #define AMD_DBGAPI_VERSION_0_54
549 
554 #define AMD_DBGAPI_VERSION_0_56
555 
560 #define AMD_DBGAPI_VERSION_0_58
561 
566 #define AMD_DBGAPI_VERSION_0_62
567 
572 #define AMD_DBGAPI_VERSION_0_64
573 
578 #define AMD_DBGAPI_VERSION_0_67
579 
584 #define AMD_DBGAPI_VERSION_0_68
585 
590 #define AMD_DBGAPI_VERSION_0_70
591 
596 #define AMD_DBGAPI_VERSION_0_76
597 
602 #define AMD_DBGAPI_VERSION_0_77
603 
611 
635 
639 typedef uint64_t amd_dbgapi_size_t;
640 
644 typedef enum
645 {
655 
663 #if defined(__linux__)
665 #endif /* __linux__ */
666 
691 #if defined(__linux__)
693 #endif /* __linux__ */
694 
702 #if defined(__linux__)
703 typedef uint64_t amd_dbgapi_os_agent_id_t;
704 #endif /* __linux__ */
705 
712 #if defined(__linux__)
713 typedef uint64_t amd_dbgapi_os_queue_id_t;
714 #endif /* __linux__ */
715 
724 #if defined(__linux__)
726 #endif /* __linux__ */
727 
735 #if defined(__linux__)
736 typedef enum
737 {
759 #endif /* __linux__ */
760 
773 typedef enum
774 {
1016 
1034  amd_dbgapi_status_t status,
1035  const char **status_string) AMD_DBGAPI_VERSION_0_54;
1036 
1060 #define AMD_DBGAPI_VERSION_MAJOR 0
1061 
1066 #define AMD_DBGAPI_VERSION_MINOR 77
1067 
1082  uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_54;
1083 
1092 const char AMD_DBGAPI *
1093 amd_dbgapi_get_build_name (void) AMD_DBGAPI_VERSION_0_54;
1094 
1142 
1168  AMD_DBGAPI_VERSION_0_54;
1169 
1191 typedef struct
1192 {
1193  uint64_t handle;
1195 
1199 #define AMD_DBGAPI_ARCHITECTURE_NONE \
1200  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_architecture_id_t, 0)
1201 
1209 typedef enum
1210 {
1262 
1302  amd_dbgapi_architecture_id_t architecture_id,
1303  amd_dbgapi_architecture_info_t query, size_t value_size,
1304  void *value) AMD_DBGAPI_VERSION_0_54;
1305 
1335  uint32_t elf_amdgpu_machine,
1337 
1344 typedef struct amd_dbgapi_symbolizer_id_s *amd_dbgapi_symbolizer_id_t;
1345 
1440  amd_dbgapi_architecture_id_t architecture_id,
1441  amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1442  const void *memory, char **instruction_text,
1443  amd_dbgapi_symbolizer_id_t symbolizer_id,
1444  amd_dbgapi_status_t (*symbolizer) (
1445  amd_dbgapi_symbolizer_id_t symbolizer_id,
1446  amd_dbgapi_global_address_t address,
1447  char **symbol_text)) AMD_DBGAPI_VERSION_0_54;
1448 
1452 typedef enum
1453 {
1564 
1568 typedef enum
1569 {
1575 
1651  amd_dbgapi_architecture_id_t architecture_id,
1652  amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size,
1653  const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind,
1654  amd_dbgapi_instruction_properties_t *instruction_properties,
1655  void **instruction_information) AMD_DBGAPI_VERSION_0_58;
1656 
1678 typedef struct amd_dbgapi_client_process_s *amd_dbgapi_client_process_id_t;
1679 
1690 typedef struct
1691 {
1692  uint64_t handle;
1694 
1698 #define AMD_DBGAPI_PROCESS_NONE \
1699  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_process_id_t, 0)
1700 
1704 typedef enum
1705 {
1708 
1712 
1716 typedef struct
1717 {
1723  size_t size;
1731  const void *data;
1733 
1740 typedef enum
1741 {
1797 
1849  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_77;
1850 
1948  amd_dbgapi_client_process_id_t client_process_id,
1950 
1999 
2014 typedef enum
2015 {
2047 
2077  amd_dbgapi_process_id_t process_id,
2079 
2091 typedef enum
2092 {
2102 
2132  amd_dbgapi_process_id_t process_id,
2134 
2205 
2232 
2260 typedef struct
2261 {
2262  uint64_t handle;
2264 
2268 #define AMD_DBGAPI_CODE_OBJECT_NONE \
2269  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_code_object_id_t, 0)
2270 
2277 typedef enum
2278 {
2347 
2387  amd_dbgapi_code_object_id_t code_object_id,
2388  amd_dbgapi_code_object_info_t query, size_t value_size,
2389  void *value) AMD_DBGAPI_VERSION_0_54;
2390 
2441  amd_dbgapi_process_id_t process_id, size_t *code_object_count,
2442  amd_dbgapi_code_object_id_t **code_objects,
2444 
2461 typedef struct
2462 {
2463  uint64_t handle;
2465 
2469 #define AMD_DBGAPI_AGENT_NONE \
2470  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_agent_id_t, 0)
2471 
2478 typedef enum
2479 {
2540 
2544 typedef enum
2545 {
2574 
2619  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_67;
2620 
2673  amd_dbgapi_process_id_t process_id, size_t *agent_count,
2674  amd_dbgapi_agent_id_t **agents,
2676 
2695 typedef struct
2696 {
2697  uint64_t handle;
2699 
2703 #define AMD_DBGAPI_QUEUE_NONE \
2704  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_queue_id_t, 0)
2705 
2712 typedef enum
2713 {
2762 
2803  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_68;
2804 
2808 typedef enum
2809 {
2829 
2834 typedef enum
2835 {
2890  AMD_DBGAPI_EXCEPTION_WAVE_APERTURE_VIOLATION DEPRECATED
2930 
2984  amd_dbgapi_process_id_t process_id, size_t *queue_count,
2985  amd_dbgapi_queue_id_t **queues,
2987 
3052  amd_dbgapi_queue_id_t queue_id,
3053  amd_dbgapi_os_queue_packet_id_t *read_packet_id,
3054  amd_dbgapi_os_queue_packet_id_t *write_packet_id,
3055  size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_54;
3056 
3075 typedef struct
3076 {
3077  uint64_t handle;
3079 
3083 #define AMD_DBGAPI_DISPATCH_NONE \
3084  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_dispatch_id_t, 0)
3085 
3092 typedef enum
3093 {
3186 
3230  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
3231 
3238 typedef enum
3239 {
3250 
3257 typedef enum
3258 {
3272 
3322  amd_dbgapi_process_id_t process_id, size_t *dispatch_count,
3323  amd_dbgapi_dispatch_id_t **dispatches,
3325 
3342 typedef struct
3343 {
3344  uint64_t handle;
3346 
3350 #define AMD_DBGAPI_WORKGROUP_NONE \
3351  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_workgroup_id_t, 0)
3352 
3359 typedef enum
3360 {
3403 
3448  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3449 
3500  amd_dbgapi_process_id_t process_id, size_t *workgroup_count,
3501  amd_dbgapi_workgroup_id_t **workgroups,
3503 
3520 typedef struct
3521 {
3522  uint64_t handle;
3524 
3528 #define AMD_DBGAPI_WAVE_NONE \
3529  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_wave_id_t, 0)
3530 
3537 typedef enum
3538 {
3647 
3696  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_64;
3697 
3701 typedef enum
3702 {
3726 
3733 typedef enum
3734 {
3893  AMD_DBGAPI_WAVE_STOP_REASON_APERTURE_VIOLATION DEPRECATED
3925 
3974  amd_dbgapi_process_id_t process_id, size_t *wave_count,
3975  amd_dbgapi_wave_id_t **waves,
3977 
4061 
4065 typedef enum
4066 {
4076 
4232  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_resume_mode_t resume_mode,
4234 
4336 typedef struct
4337 {
4338  uint64_t handle;
4340 
4344 #define AMD_DBGAPI_DISPLACED_STEPPING_NONE \
4345  (amd_dbgapi_displaced_stepping_id_t{ 0 })
4346 
4354 typedef enum
4355 {
4362 
4403  amd_dbgapi_displaced_stepping_id_t displaced_stepping_id,
4404  amd_dbgapi_displaced_stepping_info_t query, size_t value_size,
4405  void *value) AMD_DBGAPI_VERSION_0_54;
4406 
4493  amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes,
4494  amd_dbgapi_displaced_stepping_id_t *displaced_stepping)
4496 
4551  amd_dbgapi_wave_id_t wave_id,
4552  amd_dbgapi_displaced_stepping_id_t displaced_stepping)
4554 
4588 typedef struct
4589 {
4590  uint64_t handle;
4592 
4596 #define AMD_DBGAPI_WATCHPOINT_NONE \
4597  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_watchpoint_id_t, 0)
4598 
4605 typedef enum
4606 {
4623 
4663  amd_dbgapi_watchpoint_id_t watchpoint_id,
4664  amd_dbgapi_watchpoint_info_t query, size_t value_size,
4665  void *value) AMD_DBGAPI_VERSION_0_54;
4666 
4673 typedef enum
4674 {
4692 
4699 typedef enum
4700 {
4720 
4727 typedef struct
4728 {
4729  size_t count;
4732 
4805  amd_dbgapi_process_id_t process_id, amd_dbgapi_global_address_t address,
4806  amd_dbgapi_size_t size, amd_dbgapi_watchpoint_kind_t kind,
4808 
4833 
4855 typedef struct
4856 {
4857  uint64_t handle;
4859 
4863 #define AMD_DBGAPI_REGISTER_CLASS_NONE \
4864  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_class_id_t, 0)
4865 
4873 typedef enum
4874 {
4888 
4929  amd_dbgapi_register_class_id_t register_class_id,
4930  amd_dbgapi_register_class_info_t query, size_t value_size,
4931  void *value) AMD_DBGAPI_VERSION_0_54;
4932 
4974  amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count,
4976 
4985 typedef struct
4986 {
4987  uint64_t handle;
4989 
4993 #define AMD_DBGAPI_REGISTER_NONE \
4994  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_register_id_t, 0)
4995 
5002 typedef enum
5003 {
5029 
5036 typedef enum
5037 {
5131 
5177  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_70;
5178 
5182 typedef enum
5183 {
5193 
5228  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5230 
5276  amd_dbgapi_architecture_id_t architecture_id, size_t *register_count,
5278 
5323  amd_dbgapi_wave_id_t wave_id, size_t *register_count,
5325 
5363  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register,
5365 
5369 typedef enum
5370 {
5380 
5419  amd_dbgapi_register_class_id_t register_class_id,
5420  amd_dbgapi_register_id_t register_id,
5421  amd_dbgapi_register_class_state_t *register_class_state)
5423 
5481  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5482  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5483  void *value) AMD_DBGAPI_VERSION_0_62;
5484 
5550  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5551  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
5552  const void *value) AMD_DBGAPI_VERSION_0_76;
5553 
5608  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
5609  amd_dbgapi_size_t register_count) AMD_DBGAPI_VERSION_0_62;
5610 
5618 typedef struct
5619 {
5620  amd_dbgapi_global_address_t target_address;
5621  amd_dbgapi_register_id_t saved_return_address_register[2];
5623 
5663 typedef uint32_t amd_dbgapi_lane_id_t;
5664 
5668 #define AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1))
5669 
5683 typedef struct
5684 {
5685  uint64_t handle;
5687 
5691 #define AMD_DBGAPI_ADDRESS_CLASS_NONE \
5692  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_class_id_t, 0)
5693 
5701 typedef enum
5702 {
5725 
5766  amd_dbgapi_address_class_id_t address_class_id,
5767  amd_dbgapi_address_class_info_t query, size_t value_size,
5768  void *value) AMD_DBGAPI_VERSION_0_62;
5769 
5812  amd_dbgapi_architecture_id_t architecture_id, size_t *address_class_count,
5814 
5854  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_class,
5856 
5868 typedef struct
5869 {
5870  uint64_t handle;
5872 
5876 #define AMD_DBGAPI_ADDRESS_SPACE_NONE \
5877  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 0)
5878 
5885 #define AMD_DBGAPI_ADDRESS_SPACE_GLOBAL \
5886  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_address_space_id_t, 1)
5887 
5891 typedef enum
5892 {
5909 
5917 typedef enum
5918 {
5947 
5987  amd_dbgapi_address_space_id_t address_space_id,
5988  amd_dbgapi_address_space_info_t query, size_t value_size,
5989  void *value) AMD_DBGAPI_VERSION_0_62;
5990 
6030  amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count,
6032 
6073  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space,
6075 
6093 
6209  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6210  amd_dbgapi_address_space_id_t source_address_space_id,
6211  amd_dbgapi_segment_address_t source_segment_address,
6212  amd_dbgapi_address_space_id_t destination_address_space_id,
6213  amd_dbgapi_segment_address_t *destination_segment_address,
6214  amd_dbgapi_size_t *destination_contiguous_bytes)
6216 
6222 typedef enum
6223 {
6249 
6289  amd_dbgapi_address_space_id_t address_space_id,
6290  amd_dbgapi_segment_address_t segment_address,
6291  amd_dbgapi_segment_address_dependency_t *segment_address_dependency)
6293 
6298 typedef enum
6299 {
6311 
6384  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
6385  amd_dbgapi_address_space_id_t address_space_id,
6386  amd_dbgapi_segment_address_t segment_address,
6387  amd_dbgapi_address_class_id_t address_class_id,
6388  amd_dbgapi_address_class_state_t *address_class_state)
6390 
6490  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6491  amd_dbgapi_lane_id_t lane_id,
6492  amd_dbgapi_address_space_id_t address_space_id,
6493  amd_dbgapi_segment_address_t segment_address,
6494  amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_54;
6495 
6599  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
6600  amd_dbgapi_lane_id_t lane_id,
6601  amd_dbgapi_address_space_id_t address_space_id,
6602  amd_dbgapi_segment_address_t segment_address,
6603  amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_76;
6604 
6623 typedef enum
6624 {
6636 
6676  amd_dbgapi_process_id_t process_id,
6678 
6697 typedef enum
6698 {
6711 
6752  amd_dbgapi_process_id_t process_id,
6753  amd_dbgapi_alu_exceptions_precision_t alu_exceptions_precision)
6755 
6787 typedef struct
6788 {
6789  uint64_t handle;
6791 
6795 #define AMD_DBGAPI_EVENT_NONE \
6796  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_event_id_t, 0)
6797 
6801 typedef enum
6802 {
6911 
6948  amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id,
6950 
6954 typedef enum
6955 {
6972 
6979 typedef enum
6980 {
7020 
7062  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_54;
7063 
7091 
7113 typedef enum
7114 {
7141 
7162 
7188 typedef struct
7189 {
7190  uint64_t handle;
7192 
7196 #define AMD_DBGAPI_BREAKPOINT_NONE \
7197  AMD_DBGAPI_HANDLE_LITERAL (amd_dbgapi_breakpoint_id_t, 0)
7198 
7205 typedef enum
7206 {
7213 
7253  amd_dbgapi_breakpoint_id_t breakpoint_id,
7254  amd_dbgapi_breakpoint_info_t query, size_t value_size,
7255  void *value) AMD_DBGAPI_VERSION_0_54;
7256 
7260 typedef enum
7261 {
7271 
7281 typedef struct amd_dbgapi_client_thread_s *amd_dbgapi_client_thread_id_t;
7282 
7321  amd_dbgapi_breakpoint_id_t breakpoint_id,
7322  amd_dbgapi_client_thread_id_t client_thread_id,
7324 
7331 typedef enum
7332 {
7355 
7363 {
7364 
7376  void *(*allocate_memory) (size_t byte_size);
7377 
7394  void (*deallocate_memory) (void *data);
7395 
7431  amd_dbgapi_client_process_id_t client_process_id,
7433  size_t value_size, void *value);
7434 
7471  amd_dbgapi_client_process_id_t client_process_id,
7472  amd_dbgapi_global_address_t address,
7473  amd_dbgapi_breakpoint_id_t breakpoint_id);
7474 
7506  amd_dbgapi_client_process_id_t client_process_id,
7507  amd_dbgapi_breakpoint_id_t breakpoint_id);
7508 
7546  amd_dbgapi_client_process_id_t client_process_id,
7547  amd_dbgapi_global_address_t global_address,
7548  amd_dbgapi_size_t *value_size, void *read_buffer,
7549  const void *write_buffer);
7550 
7559  void (*log_message) (amd_dbgapi_log_level_t level, const char *message);
7560 };
7561 
7564 #if defined(__cplusplus)
7565 } /* extern "C" */
7566 #endif /* defined (__cplusplus) */
7567 
7568 #endif /* amd-dbgapi.h */
Queue supports the AMD PM4 protocol.
Definition: amd-dbgapi.h:749
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:2461
Return the event kind.
Definition: amd-dbgapi.h:6990
The wave stopped due to executing an assert trap instruction.
Definition: amd-dbgapi.h:3848
uint64_t amd_dbgapi_global_address_t
Integral type used for a global virtual memory address in the inferior process.
Definition: amd-dbgapi.h:634
void(* deallocate_memory)(void *data)
Deallocate memory that was allocated by amd_dbgapi_callbacks_s::allocate_memory.
Definition: amd-dbgapi.h:7394
The wave stopped due to detecting an unrecoverable ECC error.
Definition: amd-dbgapi.h:3916
uint64_t handle
Definition: amd-dbgapi.h:6789
uint64_t handle
Definition: amd-dbgapi.h:1193
Return the dispatch grid size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3149
The address space is only read the waves of a kernel dispatch.
Definition: amd-dbgapi.h:5907
A set of watchpoints.
Definition: amd-dbgapi.h:4727
The wave stopped due to a memory violation.
Definition: amd-dbgapi.h:3874
The wave stopped due to triggering an enabled floating point invalid operation exception.
Definition: amd-dbgapi.h:3809
There are no properties.
Definition: amd-dbgapi.h:5007
A wave waits for memory instructions to complete before executing further instructions.
Definition: amd-dbgapi.h:6634
The client process handle is invalid.
Definition: amd-dbgapi.h:985
uint64_t amd_dbgapi_os_queue_id_t
Native operating system queue ID.
Definition: amd-dbgapi.h:713
An invalid argument was given to the function.
Definition: amd-dbgapi.h:822
uint64_t handle
Definition: amd-dbgapi.h:4590
Opaque displaced stepping handle.
Definition: amd-dbgapi.h:4336
Print fatal error messages.
Definition: amd-dbgapi.h:7123
There is a fence with system memory scope.
Definition: amd-dbgapi.h:3270
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:969
The instruction causes the wave to stop executing for some period of time, before continuing executio...
Definition: amd-dbgapi.h:1553
amd_dbgapi_wave_creation_t
The kinds of wave creation supported by the hardware.
Definition: amd-dbgapi.h:2091
Reading or writing the segment address depends on the wavefront.
Definition: amd-dbgapi.h:6235
Queue is in a valid state.
Definition: amd-dbgapi.h:2813
Opaque queue handle.
Definition: amd-dbgapi.h:2695
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:4678
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:7127
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:6964
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:1690
Read access by load instructions.
Definition: amd-dbgapi.h:4704
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:6709
The instruction classification is unknown.
Definition: amd-dbgapi.h:1458
Native operating system queue ID.
Definition: amd-dbgapi.h:2760
The register value may change as a consequence of changing a register of the same wavefront with the ...
Definition: amd-dbgapi.h:5020
The instruction terminates the wave execution.
Definition: amd-dbgapi.h:1521
The number of lanes supported by the wave.
Definition: amd-dbgapi.h:3645
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:7260
Return how watchpoints are shared between processes.
Definition: amd-dbgapi.h:1758
Return the architecture of this dispatch.
Definition: amd-dbgapi.h:3113
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:5709
If the current process is created from a core file, return the content of the AMDGPU state note if pr...
Definition: amd-dbgapi.h:7353
There is a fence with agent memory scope.
Definition: amd-dbgapi.h:3266
The address space is read only.
Definition: amd-dbgapi.h:5902
amd_dbgapi_wave_state_t
The execution state of a wave.
Definition: amd-dbgapi.h:3701
#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:554
Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:3144
uint32_t amd_dbgapi_lane_id_t
A wave lane handle.
Definition: amd-dbgapi.h:5663
const void * data
Pointer to the buffer containing the core state data.
Definition: amd-dbgapi.h:1731
Return the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
Definition: amd-dbgapi.h:1225
There is no fence.
Definition: amd-dbgapi.h:3262
The wave is running in single-step mode.
Definition: amd-dbgapi.h:3711
amd_dbgapi_changed_t
Indication of if a value has changed.
Definition: amd-dbgapi.h:644
The wave is stopped.
Definition: amd-dbgapi.h:907
amd_dbgapi_register_exists_t
Indication of if a wave has a register.
Definition: amd-dbgapi.h:5182
The wave&#39;s number in the workgroup.
Definition: amd-dbgapi.h:3640
The wave cannot be resumed.
Definition: amd-dbgapi.h:915
The wave does not have the register.
Definition: amd-dbgapi.h:5187
Opaque register class handle.
Definition: amd-dbgapi.h:4855
uint64_t handle
Definition: amd-dbgapi.h:1692
The segment address in the address space is a member of the source language address class...
Definition: amd-dbgapi.h:6309
Return the architecture to which this register class belongs.
Definition: amd-dbgapi.h:4879
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:2478
amd_dbgapi_dispatch_barrier_t
Dispatch barrier.
Definition: amd-dbgapi.h:3238
Return the size of the register in bytes.
Definition: amd-dbgapi.h:5054
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:7545
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:928
A dispatch packet on the queue has an invalid workgroup size.
Definition: amd-dbgapi.h:2911
Instruction information for direct call instructions.
Definition: amd-dbgapi.h:5618
amd_dbgapi_global_address_t target_address
Definition: amd-dbgapi.h:5620
No more watchpoints available.
Definition: amd-dbgapi.h:941
Opaque hardware data watchpoint handle.
Definition: amd-dbgapi.h:4588
amd_dbgapi_wave_stop_reasons_t
A bit mask of the reasons that a wave stopped.
Definition: amd-dbgapi.h:3733
Return the wave of a AMD_DBGAPI_EVENT_KIND_WAVE_STOP or AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED...
Definition: amd-dbgapi.h:6996
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:7190
Return the breakpoint of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:7001
Print no messages.
Definition: amd-dbgapi.h:7118
A wave on the queue had an exception due to accessing an invalid memory address.
Definition: amd-dbgapi.h:2886
Return the architecture of this wave.
Definition: amd-dbgapi.h:3603
Changing the value of the register may change a register of the same wavefront with the AMD_DBGAPI_RE...
Definition: amd-dbgapi.h:5027
Opaque workgroup handle.
Definition: amd-dbgapi.h:3342
amd_dbgapi_log_level_t
The logging levels supported.
Definition: amd-dbgapi.h:7113
Return the process to which this code object belongs.
Definition: amd-dbgapi.h:2283
The byte size of the created watchpoint.
Definition: amd-dbgapi.h:4621
The watchpoint handle is invalid.
Definition: amd-dbgapi.h:937
Return the dispatch to which this workgroup belongs.
Definition: amd-dbgapi.h:3370
No forward progress is needed.
Definition: amd-dbgapi.h:2045
uint64_t amd_dbgapi_os_agent_id_t
Native operating system agent ID.
Definition: amd-dbgapi.h:703
PCI slot of the agent in BDF format (see [Bus:Device.Function (BDF) Notation][bfd].
Definition: amd-dbgapi.h:2515
The instruction enters the trap handler.
Definition: amd-dbgapi.h:1535
The function has executed successfully.
Definition: amd-dbgapi.h:778
The value has changed.
Definition: amd-dbgapi.h:653
Read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4713
The wave stopped due to executing a breakpoint instruction.
Definition: amd-dbgapi.h:3745
Return if the architectures of all the agents of a process support controlling ALU exceptions reporti...
Definition: amd-dbgapi.h:1771
The instruction has some form of special behavior not covered by any of the other instruction kinds...
Definition: amd-dbgapi.h:1562
The wave is not stopped.
Definition: amd-dbgapi.h:903
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:2873
amd_dbgapi_queue_state_t
Queue state.
Definition: amd-dbgapi.h:2808
Return the agent to which this workgroup belongs.
Definition: amd-dbgapi.h:3380
Queue supports the AMD SDMA protocol.
Definition: amd-dbgapi.h:753
The code object handle is invalid.
Definition: amd-dbgapi.h:870
The wave stopped due to triggering a data watchpoint.
Definition: amd-dbgapi.h:3757
Return the dispatch barrier setting.
Definition: amd-dbgapi.h:3124
#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:548
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:6703
The inferior&#39;s runtime has put a queue into the queue error state due to exceptions being reported fo...
Definition: amd-dbgapi.h:6909
amd_dbgapi_event_info_t
Event queries that are supported by amd_dbgapi_event_get_info.
Definition: amd-dbgapi.h:6979
amd_dbgapi_runtime_state_t
Inferior&#39;s runtime state.
Definition: amd-dbgapi.h:6954
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize(void) AMD_DBGAPI_VERSION_0_54
Finalize the library.
Resume execution.
Definition: amd-dbgapi.h:7265
PCI vendor ID of the agent.
Definition: amd-dbgapi.h:2519
The list of code objects has changed.
Definition: amd-dbgapi.h:6847
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:3543
Return the dispatch release fence.
Definition: amd-dbgapi.h:3134
The requested information is not available.
Definition: amd-dbgapi.h:814
Return the queue to which this wave belongs.
Definition: amd-dbgapi.h:3588
The instruction unconditionally branches to a literal address.
Definition: amd-dbgapi.h:1470
uint64_t handle
Definition: amd-dbgapi.h:3344
The breakpoint handle is invalid.
Definition: amd-dbgapi.h:977
Return the reason the wave stopped as a bit set.
Definition: amd-dbgapi.h:3550
The library is already initialized.
Definition: amd-dbgapi.h:830
amd_dbgapi_code_object_info_t
Code object queries that are supported by amd_dbgapi_code_object_get_info.
Definition: amd-dbgapi.h:2277
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:2718
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:7470
#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:590
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:692
The instruction unconditionally branches to an address held in a pair of registers.
Definition: amd-dbgapi.h:1485
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:498
A command for a wave was not able to complete because the wave has terminated.
Definition: amd-dbgapi.h:6825
Return the byte size of an address in the address space.
Definition: amd-dbgapi.h:5930
Agent name.
Definition: amd-dbgapi.h:2490
The lane handle is invalid.
Definition: amd-dbgapi.h:953
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:899
Opaque code object handle.
Definition: amd-dbgapi.h:2260
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:2505
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:6298
Return the AMD GPU DWARF address space number for the address space&#39;s architecture.
Definition: amd-dbgapi.h:5945
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:5701
uint64_t handle
Definition: amd-dbgapi.h:4338
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:3777
Return the address space access.
Definition: amd-dbgapi.h:5940
PCI domain the agent is in.
Definition: amd-dbgapi.h:2509
The process is already frozen.
Definition: amd-dbgapi.h:1010
The register class handle is invalid.
Definition: amd-dbgapi.h:945
If none of the bits are set, then amd_dbgapi_wave_stop stopped the wave.
Definition: amd-dbgapi.h:3739
Return the dispatch completion event address.
Definition: amd-dbgapi.h:3184
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:3390
amd_dbgapi_register_class_state_t
Indication of whether a register is a member of a register class.
Definition: amd-dbgapi.h:5369
Encoding is done using big endian.
Definition: amd-dbgapi.h:1707
The instruction unconditionally halts the wave.
Definition: amd-dbgapi.h:1540
Return the number of data watchpoints supported by the process.
Definition: amd-dbgapi.h:1752
uint64_t handle
Definition: amd-dbgapi.h:4857
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:4699
The notifier for the process that indicates if pending events are available.
Definition: amd-dbgapi.h:1746
void(* log_message)(amd_dbgapi_log_level_t level, const char *message)
Report a log message.
Definition: amd-dbgapi.h:7559
The wave stopped due to triggering an enabled floating point overflow exception.
Definition: amd-dbgapi.h:3785
Return the dispatch acquire fence.
Definition: amd-dbgapi.h:3129
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:6787
#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:596
The runtime support in the inferior is enabled or disabled.
Definition: amd-dbgapi.h:6875
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:2021
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:4730
Return the process to which this breakpoint belongs.
Definition: amd-dbgapi.h:7211
A wave on the queue executed a trap instruction used to abort a dispatch.
Definition: amd-dbgapi.h:2843
Return the dispatch to which this wave belongs.
Definition: amd-dbgapi.h:3583
AMDGPU corefile state data for a process.
Definition: amd-dbgapi.h:1716
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:826
Return the queue packet ID of the dispatch packet that initiated the dispatch.
Definition: amd-dbgapi.h:3119
amd_dbgapi_event_kind_t
The event kinds.
Definition: amd-dbgapi.h:6801
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:2915
Return the register class name.
Definition: amd-dbgapi.h:4886
The instruction unconditionally branches to an address held in a pair of source registers and the add...
Definition: amd-dbgapi.h:1516
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:911
The library is not initialized.
Definition: amd-dbgapi.h:834
The symbol was not found.
Definition: amd-dbgapi.h:989
Write access by store instructions or read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:4709
#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:572
Return the register handle for the PC for the architecture.
Definition: amd-dbgapi.h:1260
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:7430
amd_dbgapi_address_space_access_t
Indication of how the address space is accessed.
Definition: amd-dbgapi.h:5891
Queue supports the AMD SDMA XGMI protocol.
Definition: amd-dbgapi.h:757
The bytes being disassembled are not a legal instruction.
Definition: amd-dbgapi.h:866
uint64_t handle
Definition: amd-dbgapi.h:2697
Reading or writing the segment address depends on the workgroup.
Definition: amd-dbgapi.h:6239
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:6092
The instruction has no properties.
Definition: amd-dbgapi.h:1573
#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:578
A wave on the queue executed an instruction that caused an exception.
Definition: amd-dbgapi.h:2853
Return the AMD GPU DWARF register number for the register&#39;s architecture.
Definition: amd-dbgapi.h:5124
Dispatch has a barrier.
Definition: amd-dbgapi.h:3248
Return the breakpoint instruction for the architecture.
Definition: amd-dbgapi.h:1249
uint64_t amd_dbgapi_os_queue_packet_id_t
Native operating system queue packet ID.
Definition: amd-dbgapi.h:725
The value has not changed.
Definition: amd-dbgapi.h:649
The instruction conditionally branches to a literal address.
Definition: amd-dbgapi.h:1477
The URI name of the ELF shared object from which the code object was loaded.
Definition: amd-dbgapi.h:2339
Opaque address space handle.
Definition: amd-dbgapi.h:5868
The ELF AMD GPU machine value is invalid or unsupported.
Definition: amd-dbgapi.h:874
amd_dbgapi_client_process_info_t
Client queries that are supported by the client_process_get_info callback.
Definition: amd-dbgapi.h:7331
The difference between the address in the ELF shared object and the address the code object is loaded...
Definition: amd-dbgapi.h:2345
The address space supports all accesses.
Definition: amd-dbgapi.h:5897
The register handle is invalid.
Definition: amd-dbgapi.h:949
The wave stopped due to executing a debug trap instruction.
Definition: amd-dbgapi.h:3832
#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:602
The wave stopped due to triggering an enabled floating point inexact exception.
Definition: amd-dbgapi.h:3801
Memory instructions execute normally and a wave does not wait for the memory access to complete...
Definition: amd-dbgapi.h:6629
Reading or writing the segment address depends on the process.
Definition: amd-dbgapi.h:6247
Native operating system process ID.
Definition: amd-dbgapi.h:1785
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:1740
Return the queue of a AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR event.
Definition: amd-dbgapi.h:7018
uint64_t handle
Definition: amd-dbgapi.h:3077
The register is not a member of the register class.
Definition: amd-dbgapi.h:5374
The address class handle is invalid.
Definition: amd-dbgapi.h:957
amd_dbgapi_workgroup_info_t
Workgroup queries that are supported by amd_dbgapi_workgroup_get_info.
Definition: amd-dbgapi.h:3359
A wave has stopped.
Definition: amd-dbgapi.h:6810
Return the process to which this dispatch belongs.
Definition: amd-dbgapi.h:3108
amd_dbgapi_architecture_info_t
Architecture queries that are supported by amd_dbgapi_architecture_get_info.
Definition: amd-dbgapi.h:1209
#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:566
Return the process to which this wave belongs.
Definition: amd-dbgapi.h:3598
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:4985
amd_dbgapi_alu_exceptions_precision_t
ALU exceptions reporting precision.
Definition: amd-dbgapi.h:6697
Return the register&#39;s properties.
Definition: amd-dbgapi.h:5129
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:3257
Return the architecture to which this register belongs.
Definition: amd-dbgapi.h:5042
Agent does not support debugging.
Definition: amd-dbgapi.h:2572
The watchpoints of a process are shared between all processes.
Definition: amd-dbgapi.h:4690
If none of the bits are set, then the queue is not in the error state.
Definition: amd-dbgapi.h:2839
Maximum number of waves supported by an execution unit.
Definition: amd-dbgapi.h:2533
The event handle is invalid.
Definition: amd-dbgapi.h:973
Normal wave creation allows new waves to be created.
Definition: amd-dbgapi.h:2096
Return the dispatch group segment size in bytes.
Definition: amd-dbgapi.h:3159
This operation is not allowed when the process is frozen.
Definition: amd-dbgapi.h:1006
Return the address space name.
Definition: amd-dbgapi.h:5925
This operation is not allowed when the process is not frozen.
Definition: amd-dbgapi.h:1014
Return the size in bytes of the memory holding the queue packets.
Definition: amd-dbgapi.h:2755
pid_t amd_dbgapi_os_process_id_t
Native operating system process ID.
Definition: amd-dbgapi.h:664
Encoding is done using little endian.
Definition: amd-dbgapi.h:1710
Return the architecture name.
Definition: amd-dbgapi.h:1217
Return the agent to which this dispatch belongs.
Definition: amd-dbgapi.h:3103
The wave stopped due to completing an instruction single-step.
Definition: amd-dbgapi.h:3761
The displaced stepping handle is invalid.
Definition: amd-dbgapi.h:919
Resume execution in in single step mode.
Definition: amd-dbgapi.h:4074
A fatal error has occurred.
Definition: amd-dbgapi.h:804
amd_dbgapi_queue_info_t
Queue queries that are supported by amd_dbgapi_queue_get_info.
Definition: amd-dbgapi.h:2712
The inferior&#39;s runtime has been loaded and debugging is supported by the library. ...
Definition: amd-dbgapi.h:6960
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:6304
Return the dispatch kernel code entry address.
Definition: amd-dbgapi.h:3174
amd_dbgapi_register_info_t
Register queries that are supported by amd_dbgapi_register_get_info.
Definition: amd-dbgapi.h:5036
Return the process to which this event belongs.
Definition: amd-dbgapi.h:6985
uint64_t handle
Definition: amd-dbgapi.h:2463
size_t count
Definition: amd-dbgapi.h:4729
No dependence is available.
Definition: amd-dbgapi.h:6227
The watchpoints are not shared across processes.
Definition: amd-dbgapi.h:4684
amd_dbgapi_register_class_info_t
Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info.
Definition: amd-dbgapi.h:4873
Return the agent to which this wave belongs.
Definition: amd-dbgapi.h:3593
The wave stopped due to an aperture violation.
Definition: amd-dbgapi.h:3889
Agent supports debugging.
Definition: amd-dbgapi.h:2549
Request to resume a host breakpoint.
Definition: amd-dbgapi.h:6860
The process handle is invalid.
Definition: amd-dbgapi.h:878
The instruction conditionally branches to an address held in a pair of registers. ...
Definition: amd-dbgapi.h:1495
Return the architecture specific address space that is used to implement a pointer or reference to th...
Definition: amd-dbgapi.h:5718
amd_dbgapi_watchpoint_info_t
Watchpoint queries that are supported by amd_dbgapi_watchpoint_get_info.
Definition: amd-dbgapi.h:4605
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:1506
The address space handle is invalid.
Definition: amd-dbgapi.h:961
Print fatal error, warning, and info messages.
Definition: amd-dbgapi.h:7131
Opaque dispatch handle.
Definition: amd-dbgapi.h:3075
Return the base address of the memory holding the queue packets.
Definition: amd-dbgapi.h:2750
Return the client thread of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:7006
The instruction executes sequentially.
Definition: amd-dbgapi.h:1464
The wave has the register.
Definition: amd-dbgapi.h:5191
Return the queue to which this dispatch belongs.
Definition: amd-dbgapi.h:3098
The inferior&#39;s runtime has been loaded but there is a restriction error that prevents debugging the p...
Definition: amd-dbgapi.h:6970
Return if the runtime loaded in the inferior is supported by the library for a AMD_DBGAPI_EVENT_KIND_...
Definition: amd-dbgapi.h:7013
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:6222
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:7362
amd_dbgapi_instruction_properties_t
A bit mask of the properties of an instruction.
Definition: amd-dbgapi.h:1568
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:2895
There is a restriction error that prevents the operation to complete.
Definition: amd-dbgapi.h:854
The wave stopped due to executing a trap instruction other than the AMD_DBGAPI_WAVE_STOP_REASON_DEBUG...
Definition: amd-dbgapi.h:3858
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:1241
Return the dispatch private segment size in bytes.
Definition: amd-dbgapi.h:3154
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:5683
A wave on the queue executed an instruction that had a floating point or integer enabled exception co...
Definition: amd-dbgapi.h:2869
No more displaced stepping buffers are available that are suitable for the requested wave...
Definition: amd-dbgapi.h:924
Unknown queue type.
Definition: amd-dbgapi.h:741
Return the process to which this queue belongs.
Definition: amd-dbgapi.h:2723
Return a blob containing the content to put in the state note when generating a core dump...
Definition: amd-dbgapi.h:1795
amd_dbgapi_progress_t
The kinds of progress supported by the library.
Definition: amd-dbgapi.h:2014
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:7205
amd_dbgapi_agent_state_t
Agent state.
Definition: amd-dbgapi.h:2544
Return the set of exceptions that caused the queue to enter the queue error state.
Definition: amd-dbgapi.h:2745
amd_dbgapi_endianness_t endianness
Endianness encoding of the core state.
Definition: amd-dbgapi.h:1719
The operation is not currently implemented.
Definition: amd-dbgapi.h:810
amd_dbgapi_register_properties_t
A bit mask on register properties.
Definition: amd-dbgapi.h:5002
amd_dbgapi_memory_precision_t
Memory access precision.
Definition: amd-dbgapi.h:6623
uint64_t handle
Definition: amd-dbgapi.h:2262
Reading or writing the segment address depends on the lane.
Definition: amd-dbgapi.h:6231
Return the process to which this watchpoint belongs.
Definition: amd-dbgapi.h:4611
Opaque wave handle.
Definition: amd-dbgapi.h:3520
The current process state is not compatible with the requested operation.
Definition: amd-dbgapi.h:1002
Return the number of bytes to subtract from the PC after stopping due to a breakpoint instruction to ...
Definition: amd-dbgapi.h:1255
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:3522
#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:584
Return the largest instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1230
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:5917
Return the minimum instruction alignment in bytes for the architecture.
Definition: amd-dbgapi.h:1236
The native operating system process associated with a client process has exited.
Definition: amd-dbgapi.h:883
The instruction performs some kind of execution barrier which may result in the wave being halted unt...
Definition: amd-dbgapi.h:1547
The wave stopped due to triggering an enabled floating point input denormal exception.
Definition: amd-dbgapi.h:3769
Stop wave creation prevents new waves from being created.
Definition: amd-dbgapi.h:2100
Native operating system agent ID.
Definition: amd-dbgapi.h:2538
Return the dispatch kernel descriptor address.
Definition: amd-dbgapi.h:3169
The wave is running.
Definition: amd-dbgapi.h:3706
No event.
Definition: amd-dbgapi.h:6806
Resume normal execution.
Definition: amd-dbgapi.h:4070
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:2834
The operation is not supported.
Definition: amd-dbgapi.h:818
uint64_t handle
Definition: amd-dbgapi.h:4987
uint64_t handle
Definition: amd-dbgapi.h:5870
The workgroup workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3401
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:998
Return the dispatch grid dimensionality.
Definition: amd-dbgapi.h:3139
uint64_t amd_dbgapi_size_t
Integral type used for sizes, including memory allocations, in the inferior.
Definition: amd-dbgapi.h:639
Return the NULL segment address value in the address space.
Definition: amd-dbgapi.h:5935
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:3375
The register handle is valid, but specifies a register that is not allocated in the associated wave...
Definition: amd-dbgapi.h:994
#define DEPRECATED
Old deprecated name kept for backward compatibility.
Definition: amd-dbgapi.h:515
Return the dispatch kernel argument segment address.
Definition: amd-dbgapi.h:3164
Return the architecture of this queue.
Definition: amd-dbgapi.h:2728
Return the workgroup to which this wave belongs.
Definition: amd-dbgapi.h:3573
The register is a member of the register class.
Definition: amd-dbgapi.h:5378
Return the architecture of this agent.
Definition: amd-dbgapi.h:2500
There was an error preempting the queue.
Definition: amd-dbgapi.h:2928
Return the process to which this workgroup belongs.
Definition: amd-dbgapi.h:3385
Queue supports the HSA AQL protocol.
Definition: amd-dbgapi.h:745
Return the process to which this displaced stepping buffer belongs.
Definition: amd-dbgapi.h:4360
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:7135
A wave on the queue had a memory violation.
Definition: amd-dbgapi.h:2879
Total number of Execution Units (EUs) available in the agent.
Definition: amd-dbgapi.h:2528
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:981
amd_dbgapi_os_queue_type_t
Native operating system queue type.
Definition: amd-dbgapi.h:736
amd_dbgapi_resume_mode_t
The mode in which to resuming the execution of a wave.
Definition: amd-dbgapi.h:4065
size_t size
Size, in bytes, of the buffer pointed by amd_dbgapi_core_state_data_t::data.
Definition: amd-dbgapi.h:1723
A dispatch packet on the queue has a NULL code address.
Definition: amd-dbgapi.h:2903
Return the native operating system process handle.
Definition: amd-dbgapi.h:7343
amd_dbgapi_status_t
AMD debugger API status codes.
Definition: amd-dbgapi.h:773
Return the current program counter value of the wave.
Definition: amd-dbgapi.h:3609
The agent handle is invalid.
Definition: amd-dbgapi.h:887
The base address of the created watchpoint.
Definition: amd-dbgapi.h:4616
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:5723
The architecture handle is invalid.
Definition: amd-dbgapi.h:862
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:7269
At least one bit of the register value is readonly.
Definition: amd-dbgapi.h:5013
Opaque architecture handle.
Definition: amd-dbgapi.h:1191
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:3793
Return the queue type.
Definition: amd-dbgapi.h:2733
amd_dbgapi_wave_info_t
Wave queries that are supported by amd_dbgapi_wave_get_info.
Definition: amd-dbgapi.h:3537
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:5685
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:2738
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:3724
Return the process to which this agent belongs.
Definition: amd-dbgapi.h:2484
Reading or writing the segment address depends on the agent.
Definition: amd-dbgapi.h:6243
A packet on the queue has an invalid vendor code.
Definition: amd-dbgapi.h:2919
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:2827
struct amd_dbgapi_symbolizer_id_s * amd_dbgapi_symbolizer_id_t
Opaque client symbolizer handle.
Definition: amd-dbgapi.h:1344
An error occurred while trying to access memory in the inferior.
Definition: amd-dbgapi.h:965
A generic error has occurred.
Definition: amd-dbgapi.h:782
A dispatch packet on the queue has an invalid group segment size.
Definition: amd-dbgapi.h:2899
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:858
struct amd_dbgapi_client_process_s * amd_dbgapi_client_process_id_t
Opaque client process handle.
Definition: amd-dbgapi.h:1678
amd_dbgapi_displaced_stepping_info_t
Displaced stepping queries that are supported by amd_dbgapi_displaced_stepping_id_t.
Definition: amd-dbgapi.h:4354
Dispatch has no barrier.
Definition: amd-dbgapi.h:3243
The wave stopped due to executing an illegal instruction.
Definition: amd-dbgapi.h:3903
amd_dbgapi_watchpoint_share_kind_t
The way watchpoints are shared between processes.
Definition: amd-dbgapi.h:4673
The dispatch handle is invalid.
Definition: amd-dbgapi.h:895
amd_dbgapi_instruction_kind_t
The kinds of instruction classifications.
Definition: amd-dbgapi.h:1452
Read, write, or read-modify-write access by load, store, or atomic instructions.
Definition: amd-dbgapi.h:4718
Return the watchpoint(s) the wave triggered.
Definition: amd-dbgapi.h:3563
A packet on the queue has an unsupported code.
Definition: amd-dbgapi.h:2907
struct amd_dbgapi_client_thread_s * amd_dbgapi_client_thread_id_t
Opaque client thread handle.
Definition: amd-dbgapi.h:7281
Return the register name.
Definition: amd-dbgapi.h:5049
The wave workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:3628
Return if the architectures of all the agents of a process support controlling memory precision...
Definition: amd-dbgapi.h:1764
Print fatal error, warning, info, API tracing, and verbose messages.
Definition: amd-dbgapi.h:7139
The queue handle is invalid.
Definition: amd-dbgapi.h:891
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:7505
The wave stopped due to triggering an enabled integer divide by zero exception.
Definition: amd-dbgapi.h:3817
PCI device ID of the agent.
Definition: amd-dbgapi.h:2523
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:5115
amd_dbgapi_dispatch_info_t
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Definition: amd-dbgapi.h:3092
amd_dbgapi_endianness_t
Byte endianness encoding.
Definition: amd-dbgapi.h:1704
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:560
The wave stopped after causing a hardware fatal halt.
Definition: amd-dbgapi.h:3923
The wave cannot be resumed in the manner requested due to displaced stepping restrictions.
Definition: amd-dbgapi.h:933
Opaque breakpoint handle.
Definition: amd-dbgapi.h:7188
Return the current execution mask of the wave.
Definition: amd-dbgapi.h:3617
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.