AMD_DBGAPI  0.41.0
amd-dbgapi.h
Go to the documentation of this file.
1 /* Copyright (c) 2019-2020 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 
390 #ifndef AMD_DBGAPI_H
391 #define AMD_DBGAPI_H 1
392 
393 /* Placeholder for calling convention and import/export macros */
394 #if !defined(AMD_DBGAPI_CALL)
395 #define AMD_DBGAPI_CALL
396 #endif /* !defined (AMD_DBGAPI_CALL) */
397 
398 #if !defined(AMD_DBGAPI_EXPORT_DECORATOR)
399 #if defined(__GNUC__)
400 #define AMD_DBGAPI_EXPORT_DECORATOR __attribute__ ((visibility ("default")))
401 #elif defined(_MSC_VER)
402 #define AMD_DBGAPI_EXPORT_DECORATOR __declspec(dllexport)
403 #endif /* defined (_MSC_VER) */
404 #endif /* !defined (AMD_DBGAPI_EXPORT_DECORATOR) */
405 
406 #if !defined(AMD_DBGAPI_IMPORT_DECORATOR)
407 #if defined(__GNUC__)
408 #define AMD_DBGAPI_IMPORT_DECORATOR
409 #elif defined(_MSC_VER)
410 #define AMD_DBGAPI_IMPORT_DECORATOR __declspec(dllimport)
411 #endif /* defined (_MSC_VER) */
412 #endif /* !defined (AMD_DBGAPI_IMPORT_DECORATOR) */
413 
414 #define AMD_DBGAPI_EXPORT AMD_DBGAPI_EXPORT_DECORATOR AMD_DBGAPI_CALL
415 #define AMD_DBGAPI_IMPORT AMD_DBGAPI_IMPORT_DECORATOR AMD_DBGAPI_CALL
416 
417 #if !defined(AMD_DBGAPI)
418 #if defined(AMD_DBGAPI_EXPORTS)
419 #define AMD_DBGAPI AMD_DBGAPI_EXPORT
420 #else /* !defined (AMD_DBGAPI_EXPORTS) */
421 #define AMD_DBGAPI AMD_DBGAPI_IMPORT
422 #endif /* !defined (AMD_DBGAPI_EXPORTS) */
423 #endif /* !defined (AMD_DBGAPI) */
424 
425 #if defined(__cplusplus)
426 extern "C" {
427 #endif /* defined (__cplusplus) */
428 
429 #if defined(__linux__)
430 #include <sys/types.h>
431 #endif /* __linux__ */
432 
433 #include <stddef.h>
434 #include <stdint.h>
435 
455 #define AMD_DBGAPI_VERSION_0_24
456 
461 #define AMD_DBGAPI_VERSION_0_30
462 
467 #define AMD_DBGAPI_VERSION_0_41
468 
476 
504 
508 typedef uint64_t amd_dbgapi_size_t;
509 
513 typedef enum
514 {
524 
532 #if defined(__linux__)
534 #endif /* __linux__ */
535 
559 #if defined(__linux__)
561 #endif /* __linux__ */
562 
570 #if defined(__linux__)
571 typedef uint64_t amd_dbgapi_os_agent_id_t;
572 #endif /* __linux__ */
573 
580 #if defined(__linux__)
581 typedef uint64_t amd_dbgapi_os_queue_id_t;
582 #endif /* __linux__ */
583 
592 #if defined(__linux__)
594 #endif /* __linux__ */
595 
603 #if defined(__linux__)
604 typedef enum
605 {
665 #endif /* __linux__ */
666 
679 typedef enum
680 {
892 
910  amd_dbgapi_status_t status,
911  const char **status_string) AMD_DBGAPI_VERSION_0_24;
912 
936 #define AMD_DBGAPI_VERSION_MAJOR 0
937 
942 #define AMD_DBGAPI_VERSION_MINOR 41
943 
958  uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_24;
959 
968 const char AMD_DBGAPI *
970 
1018 
1045 
1066 typedef struct
1067 {
1068  uint64_t handle;
1070 
1074 #define AMD_DBGAPI_ARCHITECTURE_NONE (amd_dbgapi_architecture_id_t{ 0 })
1083 typedef enum
1084 {
1136 
1176  amd_dbgapi_architecture_id_t architecture_id,
1177  amd_dbgapi_architecture_info_t query, size_t value_size,
1178  void *value) AMD_DBGAPI_VERSION_0_30;
1179 
1209  uint32_t elf_amdgpu_machine,
1211 
1218 typedef struct amd_dbgapi_symbolizer_id_s *amd_dbgapi_symbolizer_id_t;
1219 
1312  amd_dbgapi_architecture_id_t architecture_id,
1314  const void *memory, char **instruction_text,
1315  amd_dbgapi_symbolizer_id_t symbolizer_id,
1316  amd_dbgapi_status_t (*symbolizer) (
1317  amd_dbgapi_symbolizer_id_t symbolizer_id,
1319  char **symbol_text)) AMD_DBGAPI_VERSION_0_30;
1320 
1324 typedef enum
1325 {
1424 
1490  amd_dbgapi_architecture_id_t architecture_id,
1492  const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind,
1493  void **instruction_properties) AMD_DBGAPI_VERSION_0_24;
1494 
1516 typedef struct amd_dbgapi_client_process_s *amd_dbgapi_client_process_id_t;
1517 
1528 typedef struct
1529 {
1530  uint64_t handle;
1532 
1536 #define AMD_DBGAPI_PROCESS_NONE (amd_dbgapi_process_id_t{ 0 })
1544 typedef enum
1545 {
1576 
1621  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_41;
1622 
1692  amd_dbgapi_client_process_id_t client_process_id,
1694 
1741 
1756 typedef enum
1757 {
1789 
1813  amd_dbgapi_process_id_t process_id,
1815 
1827 typedef enum
1828 {
1838 
1864  amd_dbgapi_process_id_t process_id,
1866 
1893 typedef struct
1894 {
1895  uint64_t handle;
1897 
1901 #define AMD_DBGAPI_CODE_OBJECT_NONE (amd_dbgapi_code_object_id_t{ 0 })
1909 typedef enum
1910 {
1972 
2012  amd_dbgapi_code_object_id_t code_object_id,
2013  amd_dbgapi_code_object_info_t query, size_t value_size,
2014  void *value) AMD_DBGAPI_VERSION_0_41;
2015 
2066  amd_dbgapi_process_id_t process_id, size_t *code_object_count,
2067  amd_dbgapi_code_object_id_t **code_objects,
2069 
2086 typedef struct
2087 {
2088  uint64_t handle;
2090 
2094 #define AMD_DBGAPI_AGENT_NONE (amd_dbgapi_agent_id_t{ 0 })
2102 typedef enum
2103 {
2150 
2191  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_41;
2192 
2242  amd_dbgapi_process_id_t process_id, size_t *agent_count,
2243  amd_dbgapi_agent_id_t **agents,
2245 
2264 typedef struct
2265 {
2266  uint64_t handle;
2268 
2272 #define AMD_DBGAPI_QUEUE_NONE (amd_dbgapi_queue_id_t{ 0 })
2280 typedef enum
2281 {
2330 
2371  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_41;
2372 
2376 typedef enum
2377 {
2391 
2395 typedef enum
2396 {
2425 
2475  amd_dbgapi_process_id_t process_id, size_t *queue_count,
2476  amd_dbgapi_queue_id_t **queues,
2478 
2542  amd_dbgapi_queue_id_t queue_id,
2543  amd_dbgapi_os_queue_packet_id_t *read_packet_id,
2544  amd_dbgapi_os_queue_packet_id_t *write_packet_id,
2545  size_t *packets_byte_size, void **packets_bytes) AMD_DBGAPI_VERSION_0_41;
2546 
2565 typedef struct
2566 {
2567  uint64_t handle;
2569 
2573 #define AMD_DBGAPI_DISPATCH_NONE (amd_dbgapi_dispatch_id_t{ 0 })
2581 typedef enum
2582 {
2675 
2719  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_41;
2720 
2727 typedef enum
2728 {
2739 
2746 typedef enum
2747 {
2761 
2806  amd_dbgapi_process_id_t process_id, size_t *dispatch_count,
2807  amd_dbgapi_dispatch_id_t **dispatches,
2809 
2826 typedef struct
2827 {
2828  uint64_t handle;
2830 
2834 #define AMD_DBGAPI_WAVE_NONE (amd_dbgapi_wave_id_t{ 0 })
2842 typedef enum
2843 {
2935 
2980  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_41;
2981 
2985 typedef enum
2986 {
3010 
3017 typedef enum
3018 {
3202 
3251  amd_dbgapi_process_id_t process_id, size_t *wave_count,
3252  amd_dbgapi_wave_id_t **waves,
3254 
3336 
3340 typedef enum
3341 {
3351 
3453  amd_dbgapi_wave_id_t wave_id,
3455 
3549 typedef struct
3550 {
3551  uint64_t handle;
3553 
3557 #define AMD_DBGAPI_DISPLACED_STEPPING_NONE \
3558  (amd_dbgapi_displaced_stepping_id_t{ 0 })
3559 
3567 typedef enum
3568 {
3575 
3616  amd_dbgapi_displaced_stepping_id_t displaced_stepping_id,
3617  amd_dbgapi_displaced_stepping_info_t query, size_t value_size,
3618  void *value) AMD_DBGAPI_VERSION_0_41;
3619 
3700  amd_dbgapi_wave_id_t wave_id, const void *saved_instruction_bytes,
3701  amd_dbgapi_displaced_stepping_id_t *displaced_stepping)
3703 
3749  amd_dbgapi_wave_id_t wave_id,
3750  amd_dbgapi_displaced_stepping_id_t displaced_stepping)
3752 
3786 typedef struct
3787 {
3788  uint64_t handle;
3790 
3794 #define AMD_DBGAPI_WATCHPOINT_NONE (amd_dbgapi_watchpoint_id_t{ 0 })
3802 typedef enum
3803 {
3810 
3850  amd_dbgapi_watchpoint_id_t watchpoint_id,
3851  amd_dbgapi_watchpoint_info_t query, size_t value_size,
3852  void *value) AMD_DBGAPI_VERSION_0_41;
3853 
3860 typedef enum
3861 {
3879 
3886 typedef enum
3887 {
3907 
3914 typedef struct
3915 {
3916  size_t count;
3919 
3998  amd_dbgapi_watchpoint_id_t *watchpoint_id,
3999  amd_dbgapi_global_address_t *watchpoint_address,
4000  amd_dbgapi_size_t *watchpoint_size) AMD_DBGAPI_VERSION_0_41;
4001 
4027  amd_dbgapi_process_id_t process_id,
4029 
4051 typedef struct
4052 {
4053  uint64_t handle;
4055 
4059 #define AMD_DBGAPI_REGISTER_CLASS_NONE (amd_dbgapi_register_class_id_t{ 0 })
4068 typedef enum
4069 {
4083 
4124  amd_dbgapi_register_class_id_t register_class_id,
4125  amd_dbgapi_register_class_info_t query, size_t value_size,
4126  void *value) AMD_DBGAPI_VERSION_0_41;
4127 
4169  amd_dbgapi_architecture_id_t architecture_id, size_t *register_class_count,
4171 
4180 typedef struct
4181 {
4182  uint64_t handle;
4184 
4188 #define AMD_DBGAPI_REGISTER_NONE (amd_dbgapi_register_id_t{ 0 })
4196 typedef enum
4197 {
4238 
4280  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_41;
4281 
4285 typedef enum
4286 {
4296 
4331  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
4333 
4379  amd_dbgapi_architecture_id_t architecture_id, size_t *register_count,
4381 
4426  amd_dbgapi_wave_id_t wave_id, size_t *register_count,
4428 
4466  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_register,
4468 
4472 typedef enum
4473 {
4483 
4522  amd_dbgapi_register_class_id_t register_class_id,
4523  amd_dbgapi_register_id_t register_id,
4524  amd_dbgapi_register_class_state_t *register_class_state)
4526 
4581  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
4582  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
4583  void *value) AMD_DBGAPI_VERSION_0_41;
4584 
4638  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
4639  amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size,
4640  const void *value) AMD_DBGAPI_VERSION_0_41;
4641 
4694  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id,
4696 
4736 typedef uint32_t amd_dbgapi_lane_id_t;
4737 
4741 #define AMD_DBGAPI_LANE_NONE ((amd_dbgapi_lane_id_t) (-1))
4756 typedef struct
4757 {
4758  uint64_t handle;
4760 
4764 #define AMD_DBGAPI_ADDRESS_CLASS_NONE (amd_dbgapi_address_class_id_t{ 0 })
4773 typedef enum
4774 {
4797 
4838  amd_dbgapi_address_class_id_t address_class_id,
4839  amd_dbgapi_address_class_info_t query, size_t value_size,
4840  void *value) AMD_DBGAPI_VERSION_0_41;
4841 
4884  amd_dbgapi_architecture_id_t architecture_id, size_t *address_class_count,
4886 
4926  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_class,
4928 
4940 typedef struct
4941 {
4942  uint64_t handle;
4944 
4948 #define AMD_DBGAPI_ADDRESS_SPACE_NONE (amd_dbgapi_address_space_id_t{ 0 })
4956 #define AMD_DBGAPI_ADDRESS_SPACE_GLOBAL (amd_dbgapi_address_space_id_t{ 1 })
4961 typedef enum
4962 {
4979 
4987 typedef enum
4988 {
5017 
5057  amd_dbgapi_address_space_id_t address_space_id,
5058  amd_dbgapi_address_space_info_t query, size_t value_size,
5059  void *value) AMD_DBGAPI_VERSION_0_41;
5060 
5100  amd_dbgapi_architecture_id_t architecture_id, size_t *address_space_count,
5102 
5143  amd_dbgapi_architecture_id_t architecture_id, uint64_t dwarf_address_space,
5145 
5149 typedef enum
5150 {
5160 
5201  amd_dbgapi_address_space_id_t address_space_id1,
5202  amd_dbgapi_address_space_id_t address_space_id2,
5203  amd_dbgapi_address_space_alias_t *address_space_alias)
5205 
5223 
5302  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
5303  amd_dbgapi_address_space_id_t source_address_space_id,
5304  amd_dbgapi_segment_address_t source_segment_address,
5305  amd_dbgapi_address_space_id_t destination_address_space_id,
5306  amd_dbgapi_segment_address_t *destination_segment_address)
5308 
5313 typedef enum
5314 {
5326 
5388  amd_dbgapi_wave_id_t wave_id, amd_dbgapi_lane_id_t lane_id,
5389  amd_dbgapi_address_space_id_t address_space_id,
5390  amd_dbgapi_segment_address_t segment_address,
5391  amd_dbgapi_address_class_id_t address_class_id,
5392  amd_dbgapi_address_class_state_t *address_class_state)
5394 
5485  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
5486  amd_dbgapi_lane_id_t lane_id,
5487  amd_dbgapi_address_space_id_t address_space_id,
5488  amd_dbgapi_segment_address_t segment_address,
5489  amd_dbgapi_size_t *value_size, void *value) AMD_DBGAPI_VERSION_0_41;
5490 
5581  amd_dbgapi_process_id_t process_id, amd_dbgapi_wave_id_t wave_id,
5582  amd_dbgapi_lane_id_t lane_id,
5583  amd_dbgapi_address_space_id_t address_space_id,
5584  amd_dbgapi_segment_address_t segment_address,
5585  amd_dbgapi_size_t *value_size, const void *value) AMD_DBGAPI_VERSION_0_41;
5586 
5605 typedef enum
5606 {
5618 
5658  amd_dbgapi_process_id_t process_id,
5660 
5692 typedef struct
5693 {
5694  uint64_t handle;
5696 
5700 #define AMD_DBGAPI_EVENT_NONE (amd_dbgapi_event_id_t{ 0 })
5705 typedef enum
5706 {
5806 
5843  amd_dbgapi_process_id_t process_id, amd_dbgapi_event_id_t *event_id,
5845 
5849 typedef enum
5850 {
5866 
5873 typedef enum
5874 {
5909 
5951  size_t value_size, void *value) AMD_DBGAPI_VERSION_0_41;
5952 
5980 
6002 typedef enum
6003 {
6026 
6047 
6072 typedef struct
6073 {
6074  uint64_t handle;
6076 
6080 typedef enum
6081 {
6091 
6095 #define AMD_DBGAPI_SHARED_LIBRARY_NONE (amd_dbgapi_shared_library_id_t{ 0 })
6104 typedef enum
6105 {
6112 
6152  amd_dbgapi_shared_library_id_t shared_library_id,
6153  amd_dbgapi_shared_library_info_t query, size_t value_size,
6154  void *value) AMD_DBGAPI_VERSION_0_41;
6155 
6194  amd_dbgapi_shared_library_id_t shared_library_id,
6195  amd_dbgapi_shared_library_state_t shared_library_state)
6197 
6210 typedef struct
6211 {
6212  uint64_t handle;
6214 
6218 #define AMD_DBGAPI_BREAKPOINT_NONE ((amd_dbgapi_breakpoint_id_t) (0))
6226 typedef enum
6227 {
6239 
6279  amd_dbgapi_breakpoint_id_t breakpoint_id,
6280  amd_dbgapi_breakpoint_info_t query, size_t value_size,
6281  void *value) AMD_DBGAPI_VERSION_0_41;
6282 
6286 typedef enum
6287 {
6297 
6307 typedef struct amd_dbgapi_client_thread_s *amd_dbgapi_client_thread_id_t;
6308 
6347  amd_dbgapi_breakpoint_id_t breakpoint_id,
6348  amd_dbgapi_client_thread_id_t client_thread_id,
6350 
6358 {
6359 
6371  void *(*allocate_memory) (size_t byte_size);
6372 
6389  void (*deallocate_memory) (void *data);
6390 
6419  amd_dbgapi_client_process_id_t client_process_id,
6420  amd_dbgapi_os_process_id_t *os_pid);
6421 
6457  amd_dbgapi_client_process_id_t client_process_id,
6458  const char *shared_library_name,
6459  amd_dbgapi_shared_library_id_t shared_library_id,
6460  amd_dbgapi_shared_library_state_t *shared_library_state);
6461 
6485  amd_dbgapi_client_process_id_t client_process_id,
6486  amd_dbgapi_shared_library_id_t shared_library_id);
6520  amd_dbgapi_client_process_id_t client_process_id,
6521  amd_dbgapi_shared_library_id_t shared_library_id,
6522  const char *symbol_name, amd_dbgapi_global_address_t *address);
6523 
6572  amd_dbgapi_client_process_id_t client_process_id,
6573  amd_dbgapi_shared_library_id_t shared_library_id,
6575  amd_dbgapi_breakpoint_id_t breakpoint_id);
6576 
6608  amd_dbgapi_client_process_id_t client_process_id,
6609  amd_dbgapi_breakpoint_id_t breakpoint_id);
6610 
6619  void (*log_message) (amd_dbgapi_log_level_t level, const char *message);
6620 };
6621 
6624 #if defined(__cplusplus)
6625 } /* extern "C" */
6626 #endif /* defined (__cplusplus) */
6627 
6628 #endif /* amd-dbgapi.h */
AMD_DBGAPI_OS_QUEUE_TYPE_HSA_KERNEL_DISPATCH_MULTIPLE_PRODUCER
@ AMD_DBGAPI_OS_QUEUE_TYPE_HSA_KERNEL_DISPATCH_MULTIPLE_PRODUCER
Queue supports the HSA kernel dispatch with multiple producers protocol.
Definition: amd-dbgapi.h:625
AMD_DBGAPI_WAVE_STOP_REASON_NONE
@ AMD_DBGAPI_WAVE_STOP_REASON_NONE
If none of the bits are set, then amd_dbgapi_wave_stop stopped the wave.
Definition: amd-dbgapi.h:3023
AMD_DBGAPI_QUEUE_ERROR_REASON_MEMORY_VIOLATION
@ AMD_DBGAPI_QUEUE_ERROR_REASON_MEMORY_VIOLATION
A wave on the queue had a memory violation.
Definition: amd-dbgapi.h:2408
AMD_DBGAPI_OS_QUEUE_TYPE_HSA_KERNEL_DISPATCH_COOPERATIVE
@ AMD_DBGAPI_OS_QUEUE_TYPE_HSA_KERNEL_DISPATCH_COOPERATIVE
Queue supports HSA kernel dispatch with multiple producers protocol that supports cooperative dispatc...
Definition: amd-dbgapi.h:651
AMD_DBGAPI_WAVE_INFO_WAVE_NUMBER_IN_WORK_GROUP
@ AMD_DBGAPI_WAVE_INFO_WAVE_NUMBER_IN_WORK_GROUP
The wave's number in the workgroup.
Definition: amd-dbgapi.h:2928
amd_dbgapi_client_process_id_t
struct amd_dbgapi_client_process_s * amd_dbgapi_client_process_id_t
Opaque client process handle.
Definition: amd-dbgapi.h:1516
AMD_DBGAPI_ARCHITECTURE_INFO_ELF_AMDGPU_MACHINE
@ AMD_DBGAPI_ARCHITECTURE_INFO_ELF_AMDGPU_MACHINE
Return the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
Definition: amd-dbgapi.h:1099
amd_dbgapi_architecture_id_t
Opaque architecture handle.
Definition: amd-dbgapi.h:1067
AMD_DBGAPI_STATUS_FATAL
@ AMD_DBGAPI_STATUS_FATAL
A fatal error has occurred.
Definition: amd-dbgapi.h:710
AMD_DBGAPI_SHARED_LIBRARY_STATE_UNLOADED
@ AMD_DBGAPI_SHARED_LIBRARY_STATE_UNLOADED
The shared library is unloaded.
Definition: amd-dbgapi.h:6089
amd_dbgapi_wave_creation_t
amd_dbgapi_wave_creation_t
The kinds of wave creation supported by the hardware.
Definition: amd-dbgapi.h:1828
AMD_DBGAPI_STATUS_ERROR_WAVE_OUTSTANDING_STOP
@ AMD_DBGAPI_STATUS_ERROR_WAVE_OUTSTANDING_STOP
The wave has an outstanding stop request.
Definition: amd-dbgapi.h:804
amd_dbgapi_watchpoint_list_t::count
size_t count
Definition: amd-dbgapi.h:3916
amd_dbgapi_process_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:1530
AMD_DBGAPI_EVENT_KIND_WAVE_STOP
@ AMD_DBGAPI_EVENT_KIND_WAVE_STOP
A wave has stopped.
Definition: amd-dbgapi.h:5714
amd_dbgapi_process_agent_list
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_41
Return the list of agents.
AMD_DBGAPI_DISPATCH_INFO_KERNEL_DESCRIPTOR_ADDRESS
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_DESCRIPTOR_ADDRESS
Return the dispatch kernel descriptor address.
Definition: amd-dbgapi.h:2658
amd_dbgapi_dispatch_info_t
amd_dbgapi_dispatch_info_t
Dispatch queries that are supported by amd_dbgapi_dispatch_get_info.
Definition: amd-dbgapi.h:2582
amd_dbgapi_process_queue_list
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_41
Return the list of queues.
AMD_DBGAPI_DISPATCH_INFO_QUEUE
@ AMD_DBGAPI_DISPATCH_INFO_QUEUE
Return the queue to which this dispatch belongs.
Definition: amd-dbgapi.h:2587
AMD_DBGAPI_WAVE_STOP_REASON_FP_DIVIDE_BY_0
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_DIVIDE_BY_0
The wave stopped due to triggering an enabled floating point divide by zero exception.
Definition: amd-dbgapi.h:3067
AMD_DBGAPI_ARCHITECTURE_INFO_MINIMUM_INSTRUCTION_ALIGNMENT
@ AMD_DBGAPI_ARCHITECTURE_INFO_MINIMUM_INSTRUCTION_ALIGNMENT
Return the minimum instruction alignment in bytes for the architecture.
Definition: amd-dbgapi.h:1110
AMD_DBGAPI_STATUS_ERROR_NOT_SUPPORTED
@ AMD_DBGAPI_STATUS_ERROR_NOT_SUPPORTED
The operation is not supported.
Definition: amd-dbgapi.h:720
amd_dbgapi_watchpoint_info_t
amd_dbgapi_watchpoint_info_t
Watchpoint queries that are supported by amd_dbgapi_watchpoint_get_info.
Definition: amd-dbgapi.h:3803
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT
An invalid argument was given to the function.
Definition: amd-dbgapi.h:724
AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED
@ AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED
A command for a wave was not able to complete because the wave has terminated.
Definition: amd-dbgapi.h:5729
AMD_DBGAPI_ADDRESS_SPACE_ALIAS_MAY
@ AMD_DBGAPI_ADDRESS_SPACE_ALIAS_MAY
Addresses in the address spaces may alias.
Definition: amd-dbgapi.h:5158
amd_dbgapi_register_class_state_t
amd_dbgapi_register_class_state_t
Indication of whether a register is a member of a register class.
Definition: amd-dbgapi.h:4473
amd_dbgapi_register_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:4182
amd_dbgapi_os_queue_packet_id_t
uint64_t amd_dbgapi_os_queue_packet_id_t
Native operating system queue packet ID.
Definition: amd-dbgapi.h:593
amd_dbgapi_register_class_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:4053
AMD_DBGAPI_AGENT_INFO_MAX_WAVES_PER_EXECUTION_UNIT
@ AMD_DBGAPI_AGENT_INFO_MAX_WAVES_PER_EXECUTION_UNIT
Maximum number of waves supported by an execution unit.
Definition: amd-dbgapi.h:2143
AMD_DBGAPI_ADDRESS_CLASS_STATE_NOT_MEMBER
@ AMD_DBGAPI_ADDRESS_CLASS_STATE_NOT_MEMBER
The segment address in the address space is not a member of the source language address class.
Definition: amd-dbgapi.h:5319
amd_dbgapi_watchpoint_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:3788
amd_dbgapi_watchpoint_kind_t
amd_dbgapi_watchpoint_kind_t
Watchpoint memory access kinds.
Definition: amd-dbgapi.h:3887
amd_dbgapi_address_class_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:4758
AMD_DBGAPI_STATUS_ERROR_ILLEGAL_INSTRUCTION
@ AMD_DBGAPI_STATUS_ERROR_ILLEGAL_INSTRUCTION
The bytes being disassembled are not a legal instruction.
Definition: amd-dbgapi.h:764
amd_dbgapi_breakpoint_action_t
amd_dbgapi_breakpoint_action_t
The action to perform after reporting a breakpoint has been hit.
Definition: amd-dbgapi.h:6287
AMD_DBGAPI_STATUS_ERROR_INVALID_BREAKPOINT_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_BREAKPOINT_ID
The breakpoint handle is invalid.
Definition: amd-dbgapi.h:865
AMD_DBGAPI_WAVE_INFO_PROCESS
@ AMD_DBGAPI_WAVE_INFO_PROCESS
Return the process to which this wave belongs.
Definition: amd-dbgapi.h:2896
amd_dbgapi_shared_library_state_t
amd_dbgapi_shared_library_state_t
The state of a shared library.
Definition: amd-dbgapi.h:6081
AMD_DBGAPI_QUEUE_ERROR_REASON_RESERVED
@ AMD_DBGAPI_QUEUE_ERROR_REASON_RESERVED
A reserved value only present to ensure that the underlying representation of this enumeration type i...
Definition: amd-dbgapi.h:2423
amd_dbgapi_get_architecture
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_get_architecture(uint32_t elf_amdgpu_machine, amd_dbgapi_architecture_id_t *architecture_id) AMD_DBGAPI_VERSION_0_24
Get an architecture from the AMD GPU ELF EF_AMDGPU_MACH value corresponding to the architecture.
AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_STOPPED
@ AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_STOPPED
The wave is not stopped.
Definition: amd-dbgapi.h:796
AMD_DBGAPI_QUEUE_ERROR_REASON_NONE
@ AMD_DBGAPI_QUEUE_ERROR_REASON_NONE
If none of the bits are set, then the queue is not in the error state.
Definition: amd-dbgapi.h:2400
AMD_DBGAPI_DISPLACED_STEPPING_INFO_PROCESS
@ AMD_DBGAPI_DISPLACED_STEPPING_INFO_PROCESS
Return the process to which this displaced stepping belongs.
Definition: amd-dbgapi.h:3573
amd_dbgapi_process_attach
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_30
Attach to a process in order to provide debug control of the AMD GPUs it uses.
amd_dbgapi_shared_library_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:6074
amd_dbgapi_displaced_stepping_start
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_41
Create a displaced stepping buffer.
AMD_DBGAPI_QUEUE_ERROR_REASON_WAVE_ERROR
@ AMD_DBGAPI_QUEUE_ERROR_REASON_WAVE_ERROR
A wave on the queue executed an instruction that caused an error.
Definition: amd-dbgapi.h:2418
AMD_DBGAPI_QUEUE_INFO_AGENT
@ AMD_DBGAPI_QUEUE_INFO_AGENT
Return the agent to which this queue belongs.
Definition: amd-dbgapi.h:2286
AMD_DBGAPI_ADDRESS_SPACE_INFO_NULL_ADDRESS
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_NULL_ADDRESS
Return the NULL segment address value in the address space.
Definition: amd-dbgapi.h:5010
amd_dbgapi_address_space_id_t
Opaque address space handle.
Definition: amd-dbgapi.h:4941
AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSUPPORTED
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSUPPORTED
Watchpoints are not supported.
Definition: amd-dbgapi.h:3865
AMD_DBGAPI_EVENT_INFO_PROCESS
@ AMD_DBGAPI_EVENT_INFO_PROCESS
Return the process to which this event belongs.
Definition: amd-dbgapi.h:5879
AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH_CONDITIONAL
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH_CONDITIONAL
The instruction conditionally branches to a literal address.
Definition: amd-dbgapi.h:1349
amd_dbgapi_displaced_stepping_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:3551
amd_dbgapi_wave_resume
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_VERSION_0_41
Resume execution of a stopped wave.
amd_dbgapi_address_class_id_t
Opaque source language address class handle.
Definition: amd-dbgapi.h:4757
AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_SHARE
@ AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_SHARE
Return how watchpoints are shared between processes.
Definition: amd-dbgapi.h:1562
AMD_DBGAPI_RESUME_MODE_NORMAL
@ AMD_DBGAPI_RESUME_MODE_NORMAL
Resume normal execution.
Definition: amd-dbgapi.h:3345
AMD_DBGAPI_QUEUE_STATE_ERROR
@ AMD_DBGAPI_QUEUE_STATE_ERROR
Queue is in an error state.
Definition: amd-dbgapi.h:2389
AMD_DBGAPI_OS_QUEUE_TYPE_AMD_PM4
@ AMD_DBGAPI_OS_QUEUE_TYPE_AMD_PM4
Queue supports the AMD PM4 protocol.
Definition: amd-dbgapi.h:655
amd_dbgapi_dwarf_address_class_to_address_class
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_41
Return the architecture source language address class from a DWARF address class number for an archit...
AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_REGISTER_PAIR
@ AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_BRANCH_REGISTER_PAIR
The instruction unconditionally branches to an address held in a pair of registers.
Definition: amd-dbgapi.h:1357
AMD_DBGAPI_STATUS_ERROR_INVALID_CODE_OBJECT_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_CODE_OBJECT_ID
The code object handle is invalid.
Definition: amd-dbgapi.h:768
amd_dbgapi_register_class_id_t
Opaque register class handle.
Definition: amd-dbgapi.h:4052
amd_dbgapi_dispatch_barrier_t
amd_dbgapi_dispatch_barrier_t
Dispatch barrier.
Definition: amd-dbgapi.h:2728
AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSHARED
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_UNSHARED
The watchpoints are not shared across processes.
Definition: amd-dbgapi.h:3871
AMD_DBGAPI_EVENT_INFO_RUNTIME_STATE
@ AMD_DBGAPI_EVENT_INFO_RUNTIME_STATE
Return if the runtime loaded in the inferior is supported by the library for a AMD_DBGAPI_EVENT_KIND_...
Definition: amd-dbgapi.h:5907
amd_dbgapi_watchpoint_share_kind_t
amd_dbgapi_watchpoint_share_kind_t
The way watchpoints are shared between processes.
Definition: amd-dbgapi.h:3861
AMD_DBGAPI_WAVE_STOP_REASON_FP_INVALID_OPERATION
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_INVALID_OPERATION
The wave stopped due to triggering an enabled floating point invalid operation exception.
Definition: amd-dbgapi.h:3087
AMD_DBGAPI_WAVE_STOP_REASON_ASSERT_TRAP
@ AMD_DBGAPI_WAVE_STOP_REASON_ASSERT_TRAP
The wave stopped due to executing an assert trap instruction.
Definition: amd-dbgapi.h:3125
amd_dbgapi_wave_stop_reason_t
amd_dbgapi_wave_stop_reason_t
A bit mask of the reasons that a wave stopped.
Definition: amd-dbgapi.h:3018
amd_dbgapi_client_thread_id_t
struct amd_dbgapi_client_thread_s * amd_dbgapi_client_thread_id_t
Opaque client thread handle.
Definition: amd-dbgapi.h:6307
AMD_DBGAPI_CODE_OBJECT_INFO_LOAD_ADDRESS
@ AMD_DBGAPI_CODE_OBJECT_INFO_LOAD_ADDRESS
The difference between the address in the ELF shared object and the address the code object is loaded...
Definition: amd-dbgapi.h:1970
AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_ID
The address space handle is invalid.
Definition: amd-dbgapi.h:845
amd_dbgapi_watchpoint_list_t
A set of watchpoints.
Definition: amd-dbgapi.h:3915
amd_dbgapi_lane_id_t
uint32_t amd_dbgapi_lane_id_t
A wave lane handle.
Definition: amd-dbgapi.h:4736
AMD_DBGAPI_STATUS_ERROR_PROCESS_EXITED
@ AMD_DBGAPI_STATUS_ERROR_PROCESS_EXITED
The native operating system process associated with a client process has exited.
Definition: amd-dbgapi.h:878
AMD_DBGAPI_WAVE_STOP_REASON_INT_DIVIDE_BY_0
@ AMD_DBGAPI_WAVE_STOP_REASON_INT_DIVIDE_BY_0
The wave stopped due to triggering an enabled integer divide by zero exception.
Definition: amd-dbgapi.h:3092
amd_dbgapi_log_level_t
amd_dbgapi_log_level_t
The logging levels supported.
Definition: amd-dbgapi.h:6003
AMD_DBGAPI_LOG_LEVEL_VERBOSE
@ AMD_DBGAPI_LOG_LEVEL_VERBOSE
Print fatal error, warning, info, and verbose messages.
Definition: amd-dbgapi.h:6024
AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA
@ AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA
Queue supports the AMD SDMA protocol.
Definition: amd-dbgapi.h:659
AMD_DBGAPI_LOG_LEVEL_NONE
@ AMD_DBGAPI_LOG_LEVEL_NONE
Print no messages.
Definition: amd-dbgapi.h:6007
AMD_DBGAPI_WAVE_STOP_REASON_ILLEGAL_INSTRUCTION
@ AMD_DBGAPI_WAVE_STOP_REASON_ILLEGAL_INSTRUCTION
The wave stopped due to executing an illegal instruction.
Definition: amd-dbgapi.h:3162
AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_PROCESS_ID
The process handle is invalid.
Definition: amd-dbgapi.h:776
AMD_DBGAPI_WAVE_INFO_QUEUE
@ AMD_DBGAPI_WAVE_INFO_QUEUE
Return the queue to which this wave belongs.
Definition: amd-dbgapi.h:2885
amd_dbgapi_register_get_info
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_41
Query information about a register.
AMD_DBGAPI_DISPATCH_FENCE_SCOPE_SYSTEM
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_SYSTEM
There is a fence with system memory scope.
Definition: amd-dbgapi.h:2759
amd_dbgapi_process_wave_list
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_41
Return the list of existing waves.
amd_dbgapi_architecture_info_t
amd_dbgapi_architecture_info_t
Architecture queries that are supported by amd_dbgapi_architecture_get_info.
Definition: amd-dbgapi.h:1084
amd_dbgapi_displaced_stepping_id_t
Opaque displaced stepping handle.
Definition: amd-dbgapi.h:3550
AMD_DBGAPI_WAVE_STATE_RUN
@ AMD_DBGAPI_WAVE_STATE_RUN
The wave is running.
Definition: amd-dbgapi.h:2990
AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_CALL_REGISTER_PAIR
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_CALL_REGISTER_PAIR
The instruction unconditionally branches to a literal address and the address of the following instru...
Definition: amd-dbgapi.h:1366
AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_CONVERSION
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_SPACE_CONVERSION
The segment address cannot be converted to the requested address space.
Definition: amd-dbgapi.h:853
amd_dbgapi_watchpoint_id_t
Opaque hardware data watchpoint handle.
Definition: amd-dbgapi.h:3787
amd_dbgapi_dispatch_fence_scope_t
amd_dbgapi_dispatch_fence_scope_t
Dispatch memory fence scope.
Definition: amd-dbgapi.h:2747
AMD_DBGAPI_QUEUE_INFO_ADDRESS
@ AMD_DBGAPI_QUEUE_INFO_ADDRESS
Return the base address of the memory holding the queue packets.
Definition: amd-dbgapi.h:2318
AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_ID
The register handle is invalid.
Definition: amd-dbgapi.h:833
AMD_DBGAPI_INSTRUCTION_KIND_TRAP
@ AMD_DBGAPI_INSTRUCTION_KIND_TRAP
The instruction enters the trap handler.
Definition: amd-dbgapi.h:1395
amd_dbgapi_register_info_t
amd_dbgapi_register_info_t
Register queries that are supported by amd_dbgapi_register_get_info.
Definition: amd-dbgapi.h:4197
AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION
Return the breakpoint instruction for the architecture.
Definition: amd-dbgapi.h:1123
amd_dbgapi_process_set_progress
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_24
Set the progress required for a process.
AMD_DBGAPI_AGENT_INFO_OS_ID
@ AMD_DBGAPI_AGENT_INFO_OS_ID
Native operating system agent ID.
Definition: amd-dbgapi.h:2148
AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_BUFFER_UNAVAILABLE
@ AMD_DBGAPI_STATUS_ERROR_DISPLACED_STEPPING_BUFFER_UNAVAILABLE
No more displaced stepping buffers are available that are suitable for the requested wave.
Definition: amd-dbgapi.h:817
amd_dbgapi_agent_id_t
Opaque agent handle.
Definition: amd-dbgapi.h:2087
amd_dbgapi_get_status_string
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_get_status_string(amd_dbgapi_status_t status, const char **status_string) AMD_DBGAPI_VERSION_0_24
Query a textual description of a status code.
amd_dbgapi_dwarf_register_to_register
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_41
Return a register handle from an AMD GPU DWARF register number for an architecture.
amd_dbgapi_wave_info_t
amd_dbgapi_wave_info_t
Wave queries that are supported by amd_dbgapi_wave_get_info.
Definition: amd-dbgapi.h:2843
AMD_DBGAPI_ADDRESS_SPACE_ACCESS_PROGRAM_CONSTANT
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_PROGRAM_CONSTANT
The address space is read only.
Definition: amd-dbgapi.h:4972
amd_dbgapi_architecture_register_class_get_info
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_41
Query information about a register class of an architecture.
AMD_DBGAPI_INSTRUCTION_KIND_UNKNOWN
@ AMD_DBGAPI_INSTRUCTION_KIND_UNKNOWN
The instruction classification is unknown.
Definition: amd-dbgapi.h:1330
AMD_DBGAPI_WAVE_STOP_REASON_QUEUE_ERROR
@ AMD_DBGAPI_WAVE_STOP_REASON_QUEUE_ERROR
The wave belongs to a queue that is in the error state.
Definition: amd-dbgapi.h:3057
AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_RESUMABLE
@ AMD_DBGAPI_STATUS_ERROR_WAVE_NOT_RESUMABLE
The wave cannot be resumed.
Definition: amd-dbgapi.h:808
AMD_DBGAPI_WATCHPOINT_KIND_LOAD
@ AMD_DBGAPI_WATCHPOINT_KIND_LOAD
Read access by load instructions.
Definition: amd-dbgapi.h:3891
AMD_DBGAPI_AGENT_INFO_PCI_DEVICE_ID
@ AMD_DBGAPI_AGENT_INFO_PCI_DEVICE_ID
PCI device ID of the agent.
Definition: amd-dbgapi.h:2133
AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT_COMPATIBILITY
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARGUMENT_COMPATIBILITY
An invalid combination of arguments was given to the function.
Definition: amd-dbgapi.h:728
AMD_DBGAPI_DISPATCH_INFO_PROCESS
@ AMD_DBGAPI_DISPATCH_INFO_PROCESS
Return the process to which this dispatch belongs.
Definition: amd-dbgapi.h:2597
amd_dbgapi_agent_info_t
amd_dbgapi_agent_info_t
Agent queries that are supported by amd_dbgapi_agent_get_info.
Definition: amd-dbgapi.h:2103
AMD_DBGAPI_EVENT_KIND_NONE
@ AMD_DBGAPI_EVENT_KIND_NONE
No event.
Definition: amd-dbgapi.h:5710
AMD_DBGAPI_WAVE_INFO_STOP_REASON
@ AMD_DBGAPI_WAVE_INFO_STOP_REASON
Return the reason the wave stopped as a bit set.
Definition: amd-dbgapi.h:2855
AMD_DBGAPI_WATCHPOINT_SHARE_KIND_SHARED
@ AMD_DBGAPI_WATCHPOINT_SHARE_KIND_SHARED
The watchpoints of a process are shared between all processes.
Definition: amd-dbgapi.h:3877
amd_dbgapi_dispatch_id_t
Opaque dispatch handle.
Definition: amd-dbgapi.h:2566
amd_dbgapi_queue_get_info
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_41
Query information about a queue.
AMD_DBGAPI_VERSION_0_24
#define AMD_DBGAPI_VERSION_0_24
The function was introduced in version 0.24 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:455
AMD_DBGAPI_QUEUE_INFO_TYPE
@ AMD_DBGAPI_QUEUE_INFO_TYPE
Return the queue type.
Definition: amd-dbgapi.h:2301
AMD_DBGAPI_STATUS_ERROR_INVALID_AGENT_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_AGENT_ID
The agent handle is invalid.
Definition: amd-dbgapi.h:780
amd_dbgapi_process_get_info
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_41
Query information about a process.
AMD_DBGAPI_RUNTIME_STATE_LOADED_SUCCESS
@ AMD_DBGAPI_RUNTIME_STATE_LOADED_SUCCESS
The runtime has been loaded and debugging is supported by the library.
Definition: amd-dbgapi.h:5854
amd_dbgapi_address_space_alias_t
amd_dbgapi_address_space_alias_t
Indication of whether addresses in two address spaces may alias.
Definition: amd-dbgapi.h:5150
AMD_DBGAPI_STATUS_ERROR_INVALID_ARCHITECTURE_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ARCHITECTURE_ID
The architecture handle is invalid.
Definition: amd-dbgapi.h:760
amd_dbgapi_os_queue_id_t
uint64_t amd_dbgapi_os_queue_id_t
Native operating system queue ID.
Definition: amd-dbgapi.h:581
amd_dbgapi_process_code_object_list
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_41
Return the list of loaded code objects.
AMD_DBGAPI_STATUS_ERROR_INVALID_EVENT_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_EVENT_ID
The event handle is invalid.
Definition: amd-dbgapi.h:857
amd_dbgapi_wave_register_list
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_41
Report the list of registers supported by a wave.
AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS
The address is not within the shared library.
Definition: amd-dbgapi.h:890
amd_dbgapi_shared_library_get_info
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_shared_library_get_info(amd_dbgapi_shared_library_id_t shared_library_id, amd_dbgapi_shared_library_info_t query, size_t value_size, void *value) AMD_DBGAPI_VERSION_0_41
Query information about a shared library.
AMD_DBGAPI_WAVE_CREATION_NORMAL
@ AMD_DBGAPI_WAVE_CREATION_NORMAL
Normal wave creation allows new waves to be created.
Definition: amd-dbgapi.h:1832
AMD_DBGAPI_AGENT_INFO_ARCHITECTURE
@ AMD_DBGAPI_AGENT_INFO_ARCHITECTURE
Return the architecture of this agent.
Definition: amd-dbgapi.h:2119
amd_dbgapi_instruction_kind_t
amd_dbgapi_instruction_kind_t
The kinds of instruction classifications.
Definition: amd-dbgapi.h:1325
amd_dbgapi_callbacks_s::get_symbol_address
amd_dbgapi_status_t(* get_symbol_address)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_shared_library_id_t shared_library_id, const char *symbol_name, amd_dbgapi_global_address_t *address)
Return the address of a symbol in a shared library.
Definition: amd-dbgapi.h:6519
AMD_DBGAPI_SHARED_LIBRARY_INFO_PROCESS
@ AMD_DBGAPI_SHARED_LIBRARY_INFO_PROCESS
Return the process to which this shared library belongs.
Definition: amd-dbgapi.h:6110
amd_dbgapi_queue_error_reason_t
amd_dbgapi_queue_error_reason_t
A bit mask of the reasons that a queue is in error.
Definition: amd-dbgapi.h:2396
AMD_DBGAPI_AGENT_INFO_EXECUTION_UNIT_COUNT
@ AMD_DBGAPI_AGENT_INFO_EXECUTION_UNIT_COUNT
Total number of Execution Units (EUs) available in the agent.
Definition: amd-dbgapi.h:2138
AMD_DBGAPI_ARCHITECTURE_INFO_NAME
@ AMD_DBGAPI_ARCHITECTURE_INFO_NAME
Return the architecture name.
Definition: amd-dbgapi.h:1091
AMD_DBGAPI_PROGRESS_NORMAL
@ AMD_DBGAPI_PROGRESS_NORMAL
Normal progress is needed.
Definition: amd-dbgapi.h:1763
amd_dbgapi_watchpoint_get_info
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_41
Query information about a watchpoint.
AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_SIZE
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_SIZE
Return the breakpoint instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1115
amd_dbgapi_resume_mode_t
amd_dbgapi_resume_mode_t
The mode in which to resuming the execution of a wave.
Definition: amd-dbgapi.h:3341
amd_dbgapi_wave_id_t
Opaque wave handle.
Definition: amd-dbgapi.h:2827
amd_dbgapi_callbacks_s::enable_notify_shared_library
amd_dbgapi_status_t(* enable_notify_shared_library)(amd_dbgapi_client_process_id_t client_process_id, const char *shared_library_name, amd_dbgapi_shared_library_id_t shared_library_id, amd_dbgapi_shared_library_state_t *shared_library_state)
Request to be notified when a shared library is loaded and unloaded.
Definition: amd-dbgapi.h:6456
AMD_DBGAPI_INSTRUCTION_KIND_BARRIER
@ AMD_DBGAPI_INSTRUCTION_KIND_BARRIER
The instruction performs some kind of execution barrier which may result in the wave being halted unt...
Definition: amd-dbgapi.h:1407
AMD_DBGAPI_EVENT_INFO_CLIENT_THREAD
@ AMD_DBGAPI_EVENT_INFO_CLIENT_THREAD
Return the client thread of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:5900
AMD_DBGAPI_STATUS_ERROR_INVALID_WATCHPOINT_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_WATCHPOINT_ID
The watchpoint handle is invalid.
Definition: amd-dbgapi.h:821
AMD_DBGAPI_ADDRESS_SPACE_ACCESS_DISPATCH_CONSTANT
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_DISPATCH_CONSTANT
The address space is only read the waves of a kernel dispatch.
Definition: amd-dbgapi.h:4977
amd_dbgapi_report_breakpoint_hit
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_41
Report that a breakpoint inserted by the amd_dbgapi_callbacks_s::insert_breakpoint calback has been h...
AMD_DBGAPI_WAVE_STOP_REASON_WATCHPOINT
@ AMD_DBGAPI_WAVE_STOP_REASON_WATCHPOINT
The wave stopped due to triggering a data watchpoint.
Definition: amd-dbgapi.h:3041
amd_dbgapi_process_next_pending_event
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_41
Obtain the next pending event.
AMD_DBGAPI_BREAKPOINT_ACTION_RESUME
@ AMD_DBGAPI_BREAKPOINT_ACTION_RESUME
Resume execution.
Definition: amd-dbgapi.h:6291
amd_dbgapi_breakpoint_id_t
Opaque breakpoint handle.
Definition: amd-dbgapi.h:6211
AMD_DBGAPI_RUNTIME_STATE_LOADED_ERROR_RESTRICTION
@ AMD_DBGAPI_RUNTIME_STATE_LOADED_ERROR_RESTRICTION
The runtime has been loaded but there is a restriction error that prevents debugging the process.
Definition: amd-dbgapi.h:5864
amd_dbgapi_agent_get_info
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_41
Query information about an agent.
amd_dbgapi_code_object_get_info
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_41
Query information about a code object.
amd_dbgapi_queue_packet_list
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_41
Return the packets for a queue.
AMD_DBGAPI_VERSION_0_30
#define AMD_DBGAPI_VERSION_0_30
The function was introduced in version 0.30 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:461
amd_dbgapi_architecture_address_space_list
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_24
Report the list of address spaces supported by the architecture.
AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_PC_ADJUST
@ AMD_DBGAPI_ARCHITECTURE_INFO_BREAKPOINT_INSTRUCTION_PC_ADJUST
Return the number of bytes to subtract from the PC after stopping due to a breakpoint instruction to ...
Definition: amd-dbgapi.h:1129
AMD_DBGAPI_STATUS_ERROR_INVALID_QUEUE_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_QUEUE_ID
The queue handle is invalid.
Definition: amd-dbgapi.h:784
AMD_DBGAPI_WAVE_STOP_REASON_FP_UNDERFLOW
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_UNDERFLOW
The wave stopped due to triggering an enabled floating point underflow exception.
Definition: amd-dbgapi.h:3077
amd_dbgapi_dispatch_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:2567
amd_dbgapi_callbacks_s::disable_notify_shared_library
amd_dbgapi_status_t(* disable_notify_shared_library)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_shared_library_id_t shared_library_id)
Request to stop being notified for a shared library previously set by amd_dbgapi_callbacks_s::enable_...
Definition: amd-dbgapi.h:6484
AMD_DBGAPI_WAVE_STOP_REASON_FATAL_HALT
@ AMD_DBGAPI_WAVE_STOP_REASON_FATAL_HALT
The wave stopped after causing a hardware fatal halt.
Definition: amd-dbgapi.h:3186
AMD_DBGAPI_DISPATCH_FENCE_SCOPE_AGENT
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_AGENT
There is a fence with agent memory scope.
Definition: amd-dbgapi.h:2755
amd_dbgapi_code_object_id_t
Opaque code object handle.
Definition: amd-dbgapi.h:1894
AMD_DBGAPI_CHANGED_YES
@ AMD_DBGAPI_CHANGED_YES
The value has changed.
Definition: amd-dbgapi.h:522
amd_dbgapi_displaced_stepping_complete
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_41
Complete a displaced stepping buffer for a wave.
amd_dbgapi_address_class_get_info
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_41
Query information about a source language address class of an architecture.
amd_dbgapi_changed_t
amd_dbgapi_changed_t
Indication of if a value has changed.
Definition: amd-dbgapi.h:514
amd_dbgapi_architecture_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:1068
amd_dbgapi_breakpoint_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:6212
AMD_DBGAPI_REGISTER_PRESENT
@ AMD_DBGAPI_REGISTER_PRESENT
The wave has the register.
Definition: amd-dbgapi.h:4294
AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_CLASS_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_REGISTER_CLASS_ID
The register class handle is invalid.
Definition: amd-dbgapi.h:829
AMD_DBGAPI_AGENT_INFO_PROCESS
@ AMD_DBGAPI_AGENT_INFO_PROCESS
Return the process to which this agent belongs.
Definition: amd-dbgapi.h:2108
amd_dbgapi_runtime_state_t
amd_dbgapi_runtime_state_t
Inferior runtime state.
Definition: amd-dbgapi.h:5850
AMD_DBGAPI_DISPATCH_INFO_AGENT
@ AMD_DBGAPI_DISPATCH_INFO_AGENT
Return the agent to which this dispatch belongs.
Definition: amd-dbgapi.h:2592
amd_dbgapi_callbacks_s::log_message
void(* log_message)(amd_dbgapi_log_level_t level, const char *message)
Report a log message.
Definition: amd-dbgapi.h:6619
amd_dbgapi_queue_state_t
amd_dbgapi_queue_state_t
Queue state.
Definition: amd-dbgapi.h:2377
amd_dbgapi_callbacks_s::get_os_pid
amd_dbgapi_status_t(* get_os_pid)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_os_process_id_t *os_pid)
Return the native operating system process handle for the process identified by the client process ha...
Definition: amd-dbgapi.h:6418
amd_dbgapi_watchpoint_list_t::watchpoint_ids
amd_dbgapi_watchpoint_id_t * watchpoint_ids
Definition: amd-dbgapi.h:3917
amd_dbgapi_address_class_info_t
amd_dbgapi_address_class_info_t
Source language address class queries that are supported by ::amd_dbgapi_architecture_address_class_g...
Definition: amd-dbgapi.h:4774
AMD_DBGAPI_LOG_LEVEL_FATAL_ERROR
@ AMD_DBGAPI_LOG_LEVEL_FATAL_ERROR
Print fatal error messages.
Definition: amd-dbgapi.h:6012
AMD_DBGAPI_DISPATCH_INFO_GRID_DIMENSIONS
@ AMD_DBGAPI_DISPATCH_INFO_GRID_DIMENSIONS
Return the dispatch grid dimensionality.
Definition: amd-dbgapi.h:2628
amd_dbgapi_set_watchpoint
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_global_address_t *watchpoint_address, amd_dbgapi_size_t *watchpoint_size) AMD_DBGAPI_VERSION_0_41
Set a hardware data watchpoint.
AMD_DBGAPI_ADDRESS_SPACE_INFO_ARCHITECTURE
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_ARCHITECTURE
Return the architecture to which this address space belongs.
Definition: amd-dbgapi.h:4993
amd_dbgapi_address_class_state_t
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:5314
AMD_DBGAPI_DISPATCH_INFO_PRIVATE_SEGMENT_SIZE
@ AMD_DBGAPI_DISPATCH_INFO_PRIVATE_SEGMENT_SIZE
Return the dispatch private segment size in bytes.
Definition: amd-dbgapi.h:2643
amd_dbgapi_write_memory
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_41
Write memory.
AMD_DBGAPI_CHANGED_NO
@ AMD_DBGAPI_CHANGED_NO
The value has not changed.
Definition: amd-dbgapi.h:518
AMD_DBGAPI_DISPATCH_INFO_KERNEL_CODE_ENTRY_ADDRESS
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_CODE_ENTRY_ADDRESS
Return the dispatch kernel code entry address.
Definition: amd-dbgapi.h:2663
amd_dbgapi_remove_watchpoint
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_remove_watchpoint(amd_dbgapi_process_id_t process_id, amd_dbgapi_watchpoint_id_t watchpoint_id) AMD_DBGAPI_VERSION_0_24
Remove a hardware data watchpoint previously set by amd_dbgapi_set_watchpoint.
amd_dbgapi_process_dispatch_list
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_41
Return the list of dispatches.
AMD_DBGAPI_INSTRUCTION_KIND_TERMINATE
@ AMD_DBGAPI_INSTRUCTION_KIND_TERMINATE
The instruction terminates the wave execution.
Definition: amd-dbgapi.h:1381
AMD_DBGAPI_WAVE_STOP_REASON_RESERVED
@ AMD_DBGAPI_WAVE_STOP_REASON_RESERVED
A reserved value only present to ensure that the underlying representation of this enumeration type i...
Definition: amd-dbgapi.h:3200
amd_dbgapi_breakpoint_get_info
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_41
Query information about a breakpoint.
AMD_DBGAPI_DISPATCH_INFO_GRID_SIZES
@ AMD_DBGAPI_DISPATCH_INFO_GRID_SIZES
Return the dispatch grid size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:2638
AMD_DBGAPI_QUEUE_STATE_VALID
@ AMD_DBGAPI_QUEUE_STATE_VALID
Queue is in a valid state.
Definition: amd-dbgapi.h:2381
amd_dbgapi_get_build_name
const char AMD_DBGAPI * amd_dbgapi_get_build_name(void) AMD_DBGAPI_VERSION_0_24
Query the installed library build name.
AMD_DBGAPI_STATUS_ERROR_INVALID_LANE_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_LANE_ID
The lane handle is invalid.
Definition: amd-dbgapi.h:837
AMD_DBGAPI_QUEUE_ERROR_REASON_INVALID_PACKET
@ AMD_DBGAPI_QUEUE_ERROR_REASON_INVALID_PACKET
A packet on the queue is invalid.
Definition: amd-dbgapi.h:2404
AMD_DBGAPI_WAVE_INFO_PC
@ AMD_DBGAPI_WAVE_INFO_PC
Return the current program counter value of the wave.
Definition: amd-dbgapi.h:2907
AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED
@ AMD_DBGAPI_STATUS_ERROR_NOT_INITIALIZED
The library is not initialized.
Definition: amd-dbgapi.h:736
AMD_DBGAPI_CODE_OBJECT_INFO_PROCESS
@ AMD_DBGAPI_CODE_OBJECT_INFO_PROCESS
Return the process to which this code object belongs.
Definition: amd-dbgapi.h:1915
AMD_DBGAPI_STATUS_ERROR_INVALID_CLIENT_PROCESS_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_CLIENT_PROCESS_ID
The client process handle is invalid.
Definition: amd-dbgapi.h:873
AMD_DBGAPI_WAVE_INFO_WATCHPOINTS
@ AMD_DBGAPI_WAVE_INFO_WATCHPOINTS
Return the watchpoint(s) the wave triggered.
Definition: amd-dbgapi.h:2868
AMD_DBGAPI_ADDRESS_CLASS_STATE_MEMBER
@ AMD_DBGAPI_ADDRESS_CLASS_STATE_MEMBER
The segment address in the address space is a member of the source language address class.
Definition: amd-dbgapi.h:5324
amd_dbgapi_prefetch_register
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_41
Prefetch register values.
amd_dbgapi_process_set_wave_creation
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_24
Set the wave creation mode for a process.
AMD_DBGAPI_WAVE_INFO_DISPATCH
@ AMD_DBGAPI_WAVE_INFO_DISPATCH
Return the dispatch to which this wave belongs.
Definition: amd-dbgapi.h:2879
AMD_DBGAPI_RESUME_MODE_SINGLE_STEP
@ AMD_DBGAPI_RESUME_MODE_SINGLE_STEP
Resume execution in in single step mode.
Definition: amd-dbgapi.h:3349
AMD_DBGAPI_DISPATCH_FENCE_SCOPE_NONE
@ AMD_DBGAPI_DISPATCH_FENCE_SCOPE_NONE
There is no fence.
Definition: amd-dbgapi.h:2751
AMD_DBGAPI_CODE_OBJECT_INFO_URI_NAME
@ AMD_DBGAPI_CODE_OBJECT_INFO_URI_NAME
The URI name of the ELF shared object from which the code object was loaded.
Definition: amd-dbgapi.h:1964
amd_dbgapi_event_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:5694
AMD_DBGAPI_BREAKPOINT_INFO_PROCESS
@ AMD_DBGAPI_BREAKPOINT_INFO_PROCESS
Return the process to which this breakpoint belongs.
Definition: amd-dbgapi.h:6237
AMD_DBGAPI_QUEUE_INFO_STATE
@ AMD_DBGAPI_QUEUE_INFO_STATE
Return the queue state.
Definition: amd-dbgapi.h:2306
AMD_DBGAPI_EVENT_INFO_KIND
@ AMD_DBGAPI_EVENT_INFO_KIND
Return the event kind.
Definition: amd-dbgapi.h:5884
AMD_DBGAPI_PROGRESS_NO_FORWARD
@ AMD_DBGAPI_PROGRESS_NO_FORWARD
No forward progress is needed.
Definition: amd-dbgapi.h:1787
AMD_DBGAPI_WAVE_STOP_REASON_XNACK_ERROR
@ AMD_DBGAPI_WAVE_STOP_REASON_XNACK_ERROR
The wave stopped with an XNACK error.
Definition: amd-dbgapi.h:3195
amd_dbgapi_address_space_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:4942
amd_dbgapi_read_memory
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_41
Read memory.
amd_dbgapi_architecture_register_class_list
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_24
Report the list of register classes supported by the architecture.
amd_dbgapi_shared_library_id_t
Opaque shared library handle.
Definition: amd-dbgapi.h:6073
AMD_DBGAPI_WAVE_INFO_AGENT
@ AMD_DBGAPI_WAVE_INFO_AGENT
Return the agent to which this wave belongs.
Definition: amd-dbgapi.h:2891
AMD_DBGAPI_QUEUE_INFO_SIZE
@ AMD_DBGAPI_QUEUE_INFO_SIZE
Return the size in bytes of the memory holding the queue packets.
Definition: amd-dbgapi.h:2323
AMD_DBGAPI_WAVE_INFO_ARCHITECTURE
@ AMD_DBGAPI_WAVE_INFO_ARCHITECTURE
Return the architecture of this wave.
Definition: amd-dbgapi.h:2901
amd_dbgapi_shared_library_info_t
amd_dbgapi_shared_library_info_t
Shared library queries that are supported by amd_dbgapi_shared_library_get_info.
Definition: amd-dbgapi.h:6105
amd_dbgapi_convert_address_space
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_VERSION_0_41
Convert a source segment address in the source address space into a destination segment address in th...
AMD_DBGAPI_ADDRESS_CLASS_INFO_NAME
@ AMD_DBGAPI_ADDRESS_CLASS_INFO_NAME
Return the source language address class name.
Definition: amd-dbgapi.h:4786
amd_dbgapi_code_object_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:1895
AMD_DBGAPI_OS_QUEUE_TYPE_HSA_KERNEL_DISPATCH_SINGLE_PRODUCER
@ AMD_DBGAPI_OS_QUEUE_TYPE_HSA_KERNEL_DISPATCH_SINGLE_PRODUCER
Queue supports the HSA kernel dispatch with single producer protocol.
Definition: amd-dbgapi.h:641
amd_dbgapi_process_info_t
amd_dbgapi_process_info_t
Process queries that are supported by amd_dbgapi_process_get_info.
Definition: amd-dbgapi.h:1545
amd_dbgapi_set_log_level
void AMD_DBGAPI amd_dbgapi_set_log_level(amd_dbgapi_log_level_t level) AMD_DBGAPI_VERSION_0_24
Set the logging level.
AMD_DBGAPI_ADDRESS_SPACE_ACCESS_ALL
@ AMD_DBGAPI_ADDRESS_SPACE_ACCESS_ALL
The address space supports all accesses.
Definition: amd-dbgapi.h:4967
amd_dbgapi_segment_address_t
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:5222
AMD_DBGAPI
#define AMD_DBGAPI
Definition: amd-dbgapi.h:421
AMD_DBGAPI_STATUS_ERROR_WAVE_STOPPED
@ AMD_DBGAPI_STATUS_ERROR_WAVE_STOPPED
The wave is stopped.
Definition: amd-dbgapi.h:800
AMD_DBGAPI_WAVE_INFO_LANE_COUNT
@ AMD_DBGAPI_WAVE_INFO_LANE_COUNT
The number of lanes supported by the wave.
Definition: amd-dbgapi.h:2933
amd_dbgapi_callbacks_s::remove_breakpoint
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:6607
AMD_DBGAPI_DISPATCH_INFO_RELEASE_FENCE
@ AMD_DBGAPI_DISPATCH_INFO_RELEASE_FENCE
Return the dispatch release fence.
Definition: amd-dbgapi.h:2623
AMD_DBGAPI_WAVE_STOP_REASON_FP_INEXACT
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_INEXACT
The wave stopped due to triggering an enabled floating point inexact exception.
Definition: amd-dbgapi.h:3082
amd_dbgapi_register_is_in_register_class
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_41
Determine if a register is a member of a register class.
amd_dbgapi_finalize
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_finalize(void) AMD_DBGAPI_VERSION_0_24
Finalize the library.
amd_dbgapi_architecture_address_class_list
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_24
Report the list of source language address classes supported by the architecture.
amd_dbgapi_address_space_get_info
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_41
Query information about an address space.
amd_dbgapi_classify_instruction
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_classify_instruction(amd_dbgapi_architecture_id_t architecture_id, amd_dbgapi_global_address_t address, amd_dbgapi_size_t *size, const void *memory, amd_dbgapi_instruction_kind_t *instruction_kind, void **instruction_properties) AMD_DBGAPI_VERSION_0_24
Classify a single instruction.
AMD_DBGAPI_WAVE_STOP_REASON_SINGLE_STEP
@ AMD_DBGAPI_WAVE_STOP_REASON_SINGLE_STEP
The wave stopped due to completing an instruction single-step.
Definition: amd-dbgapi.h:3045
AMD_DBGAPI_INSTRUCTION_KIND_SPECIAL
@ AMD_DBGAPI_INSTRUCTION_KIND_SPECIAL
The instruction has some form of special behavior not covered by any of the other instruction kinds.
Definition: amd-dbgapi.h:1422
AMD_DBGAPI_ADDRESS_CLASS_INFO_ARCHITECTURE
@ AMD_DBGAPI_ADDRESS_CLASS_INFO_ARCHITECTURE
Return the architecture to which this address class belongs.
Definition: amd-dbgapi.h:4779
amd_dbgapi_code_object_info_t
amd_dbgapi_code_object_info_t
Code object queries that are supported by amd_dbgapi_code_object_get_info.
Definition: amd-dbgapi.h:1910
AMD_DBGAPI_REGISTER_ABSENT
@ AMD_DBGAPI_REGISTER_ABSENT
The wave does not have the register.
Definition: amd-dbgapi.h:4290
AMD_DBGAPI_DISPATCH_INFO_WORK_GROUP_SIZES
@ AMD_DBGAPI_DISPATCH_INFO_WORK_GROUP_SIZES
Return the dispatch workgroup size (work-items) in the X, Y, and Z dimensions.
Definition: amd-dbgapi.h:2633
AMD_DBGAPI_REGISTER_CLASS_INFO_ARCHITECTURE
@ AMD_DBGAPI_REGISTER_CLASS_INFO_ARCHITECTURE
Return the architecture to which this register class belongs.
Definition: amd-dbgapi.h:4074
amd_dbgapi_wave_register_exists
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_41
Query if a register exists for a wave.
AMD_DBGAPI_WAVE_STOP_REASON_DEBUG_TRAP
@ AMD_DBGAPI_WAVE_STOP_REASON_DEBUG_TRAP
The wave stopped due to executing a debug trap instruction.
Definition: amd-dbgapi.h:3107
AMD_DBGAPI_REGISTER_INFO_TYPE
@ AMD_DBGAPI_REGISTER_INFO_TYPE
Return the register type as a C style type string.
Definition: amd-dbgapi.h:4236
AMD_DBGAPI_PROCESS_INFO_OS_ID
@ AMD_DBGAPI_PROCESS_INFO_OS_ID
Native operating system process ID.
Definition: amd-dbgapi.h:1574
AMD_DBGAPI_DISPATCH_INFO_OS_QUEUE_PACKET_ID
@ AMD_DBGAPI_DISPATCH_INFO_OS_QUEUE_PACKET_ID
Return the queue packet ID of the dispatch packet that initiated the dispatch.
Definition: amd-dbgapi.h:2608
amd_dbgapi_queue_info_t
amd_dbgapi_queue_info_t
Queue queries that are supported by amd_dbgapi_queue_get_info.
Definition: amd-dbgapi.h:2281
amd_dbgapi_register_class_info_t
amd_dbgapi_register_class_info_t
Register class queries that are supported by amd_dbgapi_architecture_register_class_get_info.
Definition: amd-dbgapi.h:4069
AMD_DBGAPI_AGENT_INFO_PCI_VENDOR_ID
@ AMD_DBGAPI_AGENT_INFO_PCI_VENDOR_ID
PCI vendor ID of the agent.
Definition: amd-dbgapi.h:2129
AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA_XGMI
@ AMD_DBGAPI_OS_QUEUE_TYPE_AMD_SDMA_XGMI
Queue supports the AMD SDMA XGMI protocol.
Definition: amd-dbgapi.h:663
AMD_DBGAPI_STATUS_ERROR_INVALID_DISPATCH_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_DISPATCH_ID
The dispatch handle is invalid.
Definition: amd-dbgapi.h:788
amd_dbgapi_initialize
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_initialize(amd_dbgapi_callbacks_t *callbacks) AMD_DBGAPI_VERSION_0_30
Initialize the library.
AMD_DBGAPI_WAVE_STOP_REASON_MEMORY_VIOLATION
@ AMD_DBGAPI_WAVE_STOP_REASON_MEMORY_VIOLATION
The wave stopped due to triggering a memory violation.
Definition: amd-dbgapi.h:3152
amd_dbgapi_address_space_access_t
amd_dbgapi_address_space_access_t
Indication of how the address space is accessed.
Definition: amd-dbgapi.h:4962
AMD_DBGAPI_ARCHITECTURE_INFO_PC_REGISTER
@ AMD_DBGAPI_ARCHITECTURE_INFO_PC_REGISTER
Return the register handle for the PC for the architecture.
Definition: amd-dbgapi.h:1134
AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK
@ AMD_DBGAPI_STATUS_ERROR_CLIENT_CALLBACK
A callback to the client reported an error.
Definition: amd-dbgapi.h:869
amd_dbgapi_displaced_stepping_get_info
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_41
Query information about a displaced stepping buffer.
amd_dbgapi_os_queue_type_t
amd_dbgapi_os_queue_type_t
Native operating system queue type.
Definition: amd-dbgapi.h:605
amd_dbgapi_architecture_get_info
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_30
Query information about an architecture.
AMD_DBGAPI_QUEUE_INFO_ARCHITECTURE
@ AMD_DBGAPI_QUEUE_INFO_ARCHITECTURE
Return the architecture of this queue.
Definition: amd-dbgapi.h:2296
amd_dbgapi_wave_stop
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_wave_stop(amd_dbgapi_wave_id_t wave_id) AMD_DBGAPI_VERSION_0_41
Request a wave to stop executing.
AMD_DBGAPI_MEMORY_PRECISION_NONE
@ AMD_DBGAPI_MEMORY_PRECISION_NONE
Memory instructions execute normally and a wave does not wait for the memory access to complete.
Definition: amd-dbgapi.h:5611
amd_dbgapi_architecture_register_list
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_24
Report the list of registers supported by the architecture.
AMD_DBGAPI_STATUS_ERROR_INVALID_ELF_AMDGPU_MACHINE
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ELF_AMDGPU_MACHINE
The ELF AMD GPU machine value is invalid or unsupported.
Definition: amd-dbgapi.h:772
amd_dbgapi_address_is_in_address_class
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_41
Determine if a segment address in an address space is a member of a source language address class.
AMD_DBGAPI_DISPATCH_BARRIER_NONE
@ AMD_DBGAPI_DISPATCH_BARRIER_NONE
Dispatch has no barrier.
Definition: amd-dbgapi.h:2732
AMD_DBGAPI_PROCESS_INFO_PRECISE_MEMORY_SUPPORTED
@ AMD_DBGAPI_PROCESS_INFO_PRECISE_MEMORY_SUPPORTED
Return if the architectures of all the agents of a process support controlling memory precision.
Definition: amd-dbgapi.h:1568
AMD_DBGAPI_STATUS_ERROR_UNIMPLEMENTED
@ AMD_DBGAPI_STATUS_ERROR_UNIMPLEMENTED
The operation is not currently implemented.
Definition: amd-dbgapi.h:716
AMD_DBGAPI_WAVE_STATE_SINGLE_STEP
@ AMD_DBGAPI_WAVE_STATE_SINGLE_STEP
The wave is running in single-step mode.
Definition: amd-dbgapi.h:2995
AMD_DBGAPI_REGISTER_CLASS_STATE_NOT_MEMBER
@ AMD_DBGAPI_REGISTER_CLASS_STATE_NOT_MEMBER
The register is not a member of the register class.
Definition: amd-dbgapi.h:4477
amd_dbgapi_address_space_info_t
amd_dbgapi_address_space_info_t
Address space queries that are supported by amd_dbgapi_address_space_get_info.
Definition: amd-dbgapi.h:4988
AMD_DBGAPI_DISPATCH_INFO_ACQUIRE_FENCE
@ AMD_DBGAPI_DISPATCH_INFO_ACQUIRE_FENCE
Return the dispatch acquire fence.
Definition: amd-dbgapi.h:2618
amd_dbgapi_event_id_t
Opaque event handle.
Definition: amd-dbgapi.h:5693
AMD_DBGAPI_REGISTER_INFO_NAME
@ AMD_DBGAPI_REGISTER_INFO_NAME
Return the register name.
Definition: amd-dbgapi.h:4209
AMD_DBGAPI_WAVE_STOP_REASON_TRAP
@ AMD_DBGAPI_WAVE_STOP_REASON_TRAP
The wave stopped due to executing an trap instruction other than the AMD_DBGAPI_WAVE_STOP_REASON_DEBU...
Definition: amd-dbgapi.h:3137
AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_COUNT
@ AMD_DBGAPI_PROCESS_INFO_WATCHPOINT_COUNT
Return the number of data watchpoints supported by the process.
Definition: amd-dbgapi.h:1556
amd_dbgapi_symbolizer_id_t
struct amd_dbgapi_symbolizer_id_s * amd_dbgapi_symbolizer_id_t
Opaque client symbolizer handle.
Definition: amd-dbgapi.h:1218
AMD_DBGAPI_EVENT_INFO_WAVE
@ AMD_DBGAPI_EVENT_INFO_WAVE
Return the wave of a AMD_DBGAPI_EVENT_KIND_WAVE_STOP or AMD_DBGAPI_EVENT_KIND_WAVE_COMMAND_TERMINATED...
Definition: amd-dbgapi.h:5890
AMD_DBGAPI_ADDRESS_SPACE_INFO_ACCESS
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_ACCESS
Return the address space access.
Definition: amd-dbgapi.h:5015
AMD_DBGAPI_REGISTER_INFO_ARCHITECTURE
@ AMD_DBGAPI_REGISTER_INFO_ARCHITECTURE
Return the architecture to which this register belongs.
Definition: amd-dbgapi.h:4202
amd_dbgapi_disassemble_instruction
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_30
Disassemble a single instruction.
amd_dbgapi_wave_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:2828
AMD_DBGAPI_STATUS_ERROR_SYMBOL_NOT_FOUND
@ AMD_DBGAPI_STATUS_ERROR_SYMBOL_NOT_FOUND
The symbol was not found.
Definition: amd-dbgapi.h:886
amd_dbgapi_event_get_info
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_41
Query information about an event.
AMD_DBGAPI_DISPATCH_INFO_GROUP_SEGMENT_SIZE
@ AMD_DBGAPI_DISPATCH_INFO_GROUP_SEGMENT_SIZE
Return the dispatch group segment size in bytes.
Definition: amd-dbgapi.h:2648
AMD_DBGAPI_STATUS_ERROR_MEMORY_ACCESS
@ AMD_DBGAPI_STATUS_ERROR_MEMORY_ACCESS
An error occurred while trying to access memory in the inferior.
Definition: amd-dbgapi.h:849
AMD_DBGAPI_QUEUE_INFO_PROCESS
@ AMD_DBGAPI_QUEUE_INFO_PROCESS
Return the process to which this queue belongs.
Definition: amd-dbgapi.h:2291
AMD_DBGAPI_EVENT_KIND_RUNTIME
@ AMD_DBGAPI_EVENT_KIND_RUNTIME
The runtime support in the inferior has been loaded or unloaded.
Definition: amd-dbgapi.h:5768
AMD_DBGAPI_AGENT_INFO_PCI_SLOT
@ AMD_DBGAPI_AGENT_INFO_PCI_SLOT
PCI slot of the agent in BDF format (see [Bus:Device.Function (BDF) Notation][bfd].
Definition: amd-dbgapi.h:2125
AMD_DBGAPI_WATCHPOINT_KIND_STORE_AND_RMW
@ AMD_DBGAPI_WATCHPOINT_KIND_STORE_AND_RMW
Write access by store instructions or read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:3896
AMD_DBGAPI_DISPATCH_INFO_KERNEL_COMPLETION_ADDRESS
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_COMPLETION_ADDRESS
Return the dispatch completion event address.
Definition: amd-dbgapi.h:2673
amd_dbgapi_os_process_id_t
pid_t amd_dbgapi_os_process_id_t
Native operating system process ID.
Definition: amd-dbgapi.h:533
amd_dbgapi_breakpoint_info_t
amd_dbgapi_breakpoint_info_t
Breakpoint queries that are supported by amd_dbgapi_breakpoint_get_info.
Definition: amd-dbgapi.h:6227
AMD_DBGAPI_DISPATCH_BARRIER_PRESENT
@ AMD_DBGAPI_DISPATCH_BARRIER_PRESENT
Dispatch has a barrier.
Definition: amd-dbgapi.h:2737
AMD_DBGAPI_OS_QUEUE_TYPE_UNKNOWN
@ AMD_DBGAPI_OS_QUEUE_TYPE_UNKNOWN
Unknown queue type.
Definition: amd-dbgapi.h:609
amd_dbgapi_progress_t
amd_dbgapi_progress_t
The kinds of progress supported by the library.
Definition: amd-dbgapi.h:1757
amd_dbgapi_queue_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:2266
amd_dbgapi_event_kind_t
amd_dbgapi_event_kind_t
The event kinds.
Definition: amd-dbgapi.h:5706
AMD_DBGAPI_RUNTIME_STATE_UNLOADED
@ AMD_DBGAPI_RUNTIME_STATE_UNLOADED
The runtime has been unloaded.
Definition: amd-dbgapi.h:5858
AMD_DBGAPI_WATCHPOINT_KIND_ALL
@ AMD_DBGAPI_WATCHPOINT_KIND_ALL
Read, write, or read-modify-write access by load, store, or atomic instructions.
Definition: amd-dbgapi.h:3905
AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH
@ AMD_DBGAPI_INSTRUCTION_KIND_DIRECT_BRANCH
The instruction unconditionally branches to a literal address.
Definition: amd-dbgapi.h:1342
AMD_DBGAPI_WAVE_INFO_STATE
@ AMD_DBGAPI_WAVE_INFO_STATE
Return the wave's state.
Definition: amd-dbgapi.h:2848
AMD_DBGAPI_ADDRESS_SPACE_INFO_ADDRESS_SIZE
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_ADDRESS_SIZE
Return the byte size of an address in the address space.
Definition: amd-dbgapi.h:5005
AMD_DBGAPI_WAVE_CREATION_STOP
@ AMD_DBGAPI_WAVE_CREATION_STOP
Stop wave creation prevents new waves from being created.
Definition: amd-dbgapi.h:1836
AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR
@ AMD_DBGAPI_EVENT_KIND_QUEUE_ERROR
An event has occurred that is causing the queue to enter the error state.
Definition: amd-dbgapi.h:5804
amd_dbgapi_notifier_t
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:560
AMD_DBGAPI_WATCHPOINT_KIND_RMW
@ AMD_DBGAPI_WATCHPOINT_KIND_RMW
Read-modify-write access by atomic instructions.
Definition: amd-dbgapi.h:3900
amd_dbgapi_status_t
amd_dbgapi_status_t
AMD debugger API status codes.
Definition: amd-dbgapi.h:680
AMD_DBGAPI_STATUS_ERROR_NO_WATCHPOINT_AVAILABLE
@ AMD_DBGAPI_STATUS_ERROR_NO_WATCHPOINT_AVAILABLE
No more watchpoints available.
Definition: amd-dbgapi.h:825
AMD_DBGAPI_REGISTER_INFO_SIZE
@ AMD_DBGAPI_REGISTER_INFO_SIZE
Return the size of the register in bytes.
Definition: amd-dbgapi.h:4214
amd_dbgapi_size_t
uint64_t amd_dbgapi_size_t
Integral type used for sizes, including memory allocations, in the inferior.
Definition: amd-dbgapi.h:508
amd_dbgapi_dwarf_address_space_to_address_space
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_41
Return the address space from an AMD GPU DWARF address space number for an architecture.
AMD_DBGAPI_STATUS_ERROR_INVALID_WAVE_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_WAVE_ID
The wave handle is invalid.
Definition: amd-dbgapi.h:792
AMD_DBGAPI_EVENT_KIND_CODE_OBJECT_LIST_UPDATED
@ AMD_DBGAPI_EVENT_KIND_CODE_OBJECT_LIST_UPDATED
The list of code objects has changed.
Definition: amd-dbgapi.h:5745
AMD_DBGAPI_WAVE_STATE_STOP
@ AMD_DBGAPI_WAVE_STATE_STOP
The wave is stopped.
Definition: amd-dbgapi.h:3008
amd_dbgapi_wave_get_info
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_41
Query information about a wave.
amd_dbgapi_queue_id_t
Opaque queue handle.
Definition: amd-dbgapi.h:2265
AMD_DBGAPI_REGISTER_CLASS_INFO_NAME
@ AMD_DBGAPI_REGISTER_CLASS_INFO_NAME
Return the register class name.
Definition: amd-dbgapi.h:4081
AMD_DBGAPI_BREAKPOINT_INFO_SHARED_LIBRARY
@ AMD_DBGAPI_BREAKPOINT_INFO_SHARED_LIBRARY
Return the shared library to which this breakpoint belongs.
Definition: amd-dbgapi.h:6232
amd_dbgapi_callbacks_s::insert_breakpoint
amd_dbgapi_status_t(* insert_breakpoint)(amd_dbgapi_client_process_id_t client_process_id, amd_dbgapi_shared_library_id_t shared_library_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:6571
AMD_DBGAPI_BREAKPOINT_ACTION_HALT
@ AMD_DBGAPI_BREAKPOINT_ACTION_HALT
Leave execution halted.
Definition: amd-dbgapi.h:6295
AMD_DBGAPI_LOG_LEVEL_INFO
@ AMD_DBGAPI_LOG_LEVEL_INFO
Print fatal error, warning, and info messages.
Definition: amd-dbgapi.h:6020
AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_CALL_REGISTER_PAIRS
@ AMD_DBGAPI_INSTRUCTION_KIND_INDIRECT_CALL_REGISTER_PAIRS
The instruction unconditionally branches to an address held in a pair of source registers and the add...
Definition: amd-dbgapi.h:1376
amd_dbgapi_read_register
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_41
Read a register.
amd_dbgapi_address_spaces_may_alias
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_address_spaces_may_alias(amd_dbgapi_address_space_id_t address_space_id1, amd_dbgapi_address_space_id_t address_space_id2, amd_dbgapi_address_space_alias_t *address_space_alias) AMD_DBGAPI_VERSION_0_41
Determine if an address in one address space may alias an address in another address space.
amd_dbgapi_global_address_t
uint64_t amd_dbgapi_global_address_t
Integral type used for a global virtual memory address in the inferior process.
Definition: amd-dbgapi.h:503
AMD_DBGAPI_DISPATCH_INFO_BARRIER
@ AMD_DBGAPI_DISPATCH_INFO_BARRIER
Return the dispatch barrier setting.
Definition: amd-dbgapi.h:2613
AMD_DBGAPI_ADDRESS_SPACE_ALIAS_NONE
@ AMD_DBGAPI_ADDRESS_SPACE_ALIAS_NONE
No addresses in the address spaces can alias.
Definition: amd-dbgapi.h:5154
AMD_DBGAPI_SHARED_LIBRARY_STATE_LOADED
@ AMD_DBGAPI_SHARED_LIBRARY_STATE_LOADED
The shared library is loaded.
Definition: amd-dbgapi.h:6085
AMD_DBGAPI_WAVE_STOP_REASON_ECC_ERROR
@ AMD_DBGAPI_WAVE_STOP_REASON_ECC_ERROR
The wave stopped due to detecting an unrecoverable ECC error.
Definition: amd-dbgapi.h:3177
AMD_DBGAPI_MEMORY_PRECISION_PRECISE
@ AMD_DBGAPI_MEMORY_PRECISION_PRECISE
A wave waits for memory instructions to complete before executing further instructions.
Definition: amd-dbgapi.h:5616
AMD_DBGAPI_WATCHPOINT_INFO_PROCESS
@ AMD_DBGAPI_WATCHPOINT_INFO_PROCESS
Return the process to which this watchpoint belongs.
Definition: amd-dbgapi.h:3808
AMD_DBGAPI_AGENT_INFO_NAME
@ AMD_DBGAPI_AGENT_INFO_NAME
Agent name.
Definition: amd-dbgapi.h:2114
amd_dbgapi_get_version
void AMD_DBGAPI amd_dbgapi_get_version(uint32_t *major, uint32_t *minor, uint32_t *patch) AMD_DBGAPI_VERSION_0_24
Query the version of the installed library.
AMD_DBGAPI_DISPATCH_INFO_ARCHITECTURE
@ AMD_DBGAPI_DISPATCH_INFO_ARCHITECTURE
Return the architecture of this dispatch.
Definition: amd-dbgapi.h:2602
amd_dbgapi_callbacks_s
Callbacks that the client of the library must provide.
Definition: amd-dbgapi.h:6358
AMD_DBGAPI_WAVE_INFO_WORK_GROUP_COORD
@ AMD_DBGAPI_WAVE_INFO_WORK_GROUP_COORD
The wave workgroup coordinate in the dispatch grid dimensions.
Definition: amd-dbgapi.h:2921
AMD_DBGAPI_STATUS_ERROR_LIBRARY_NOT_LOADED
@ AMD_DBGAPI_STATUS_ERROR_LIBRARY_NOT_LOADED
The shared library is not currently loaded.
Definition: amd-dbgapi.h:882
amd_dbgapi_process_id_t
Opaque process handle.
Definition: amd-dbgapi.h:1529
AMD_DBGAPI_STATUS_ERROR_RESTRICTION
@ AMD_DBGAPI_STATUS_ERROR_RESTRICTION
There is a restriction error that prevents debugging the process.
Definition: amd-dbgapi.h:752
AMD_DBGAPI_ADDRESS_SPACE_INFO_NAME
@ AMD_DBGAPI_ADDRESS_SPACE_INFO_NAME
Return the address space name.
Definition: amd-dbgapi.h:5000
AMD_DBGAPI_WAVE_STOP_REASON_FP_INPUT_DENORMAL
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_INPUT_DENORMAL
The wave stopped due to triggering an enabled floating point input denormal exception.
Definition: amd-dbgapi.h:3062
AMD_DBGAPI_WAVE_STOP_REASON_BREAKPOINT
@ AMD_DBGAPI_WAVE_STOP_REASON_BREAKPOINT
The wave stopped due to executing a breakpoint instruction.
Definition: amd-dbgapi.h:3029
AMD_DBGAPI_WAVE_STOP_REASON_FP_OVERFLOW
@ AMD_DBGAPI_WAVE_STOP_REASON_FP_OVERFLOW
The wave stopped due to triggering an enabled floating point overflow exception.
Definition: amd-dbgapi.h:3072
amd_dbgapi_write_register
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_write_register(amd_dbgapi_wave_id_t wave_id, amd_dbgapi_register_id_t register_id, amd_dbgapi_size_t offset, amd_dbgapi_size_t value_size, const void *value) AMD_DBGAPI_VERSION_0_41
Write a register.
AMD_DBGAPI_PROCESS_INFO_NOTIFIER
@ AMD_DBGAPI_PROCESS_INFO_NOTIFIER
The notifier for the process that indicates if pending events are available.
Definition: amd-dbgapi.h:1550
AMD_DBGAPI_STATUS_ERROR_INVALID_SHARED_LIBRARY_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_SHARED_LIBRARY_ID
The shared library handle is invalid.
Definition: amd-dbgapi.h:861
amd_dbgapi_event_processed
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_event_processed(amd_dbgapi_event_id_t event_id) AMD_DBGAPI_VERSION_0_41
Report that an event has been processed.
amd_dbgapi_register_exists_t
amd_dbgapi_register_exists_t
Indication of if a wave has a register.
Definition: amd-dbgapi.h:4286
AMD_DBGAPI_INSTRUCTION_KIND_HALT
@ AMD_DBGAPI_INSTRUCTION_KIND_HALT
The instruction unconditionally halts the wave.
Definition: amd-dbgapi.h:1400
AMD_DBGAPI_EVENT_INFO_BREAKPOINT
@ AMD_DBGAPI_EVENT_INFO_BREAKPOINT
Return the breakpoint of a AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME event.
Definition: amd-dbgapi.h:5895
AMD_DBGAPI_INSTRUCTION_KIND_SEQUENTIAL
@ AMD_DBGAPI_INSTRUCTION_KIND_SEQUENTIAL
The instruction executes sequentially.
Definition: amd-dbgapi.h:1336
AMD_DBGAPI_STATUS_ERROR_INVALID_DISPLACED_STEPPING_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_DISPLACED_STEPPING_ID
The displaced stepping handle is invalid.
Definition: amd-dbgapi.h:812
AMD_DBGAPI_STATUS_ERROR
@ AMD_DBGAPI_STATUS_ERROR
A generic error has occurred.
Definition: amd-dbgapi.h:688
AMD_DBGAPI_QUEUE_ERROR_REASON_ASSERT_TRAP
@ AMD_DBGAPI_QUEUE_ERROR_REASON_ASSERT_TRAP
A wave on the queue had an assert trap.
Definition: amd-dbgapi.h:2412
AMD_DBGAPI_STATUS_ERROR_ALREADY_ATTACHED
@ AMD_DBGAPI_STATUS_ERROR_ALREADY_ATTACHED
The process is already attached to the given inferior process.
Definition: amd-dbgapi.h:756
amd_dbgapi_memory_precision_t
amd_dbgapi_memory_precision_t
Memory access precision.
Definition: amd-dbgapi.h:5606
AMD_DBGAPI_ADDRESS_CLASS_INFO_ADDRESS_SPACE
@ AMD_DBGAPI_ADDRESS_CLASS_INFO_ADDRESS_SPACE
Return the architecture specific address space that is used to implement a pointer or reference to th...
Definition: amd-dbgapi.h:4795
AMD_DBGAPI_INSTRUCTION_KIND_SLEEP
@ AMD_DBGAPI_INSTRUCTION_KIND_SLEEP
The instruction causes the wave to stop executing for some period of time, before continuing executio...
Definition: amd-dbgapi.h:1413
AMD_DBGAPI_ARCHITECTURE_INFO_LARGEST_INSTRUCTION_SIZE
@ AMD_DBGAPI_ARCHITECTURE_INFO_LARGEST_INSTRUCTION_SIZE
Return the largest instruction size in bytes for the architecture.
Definition: amd-dbgapi.h:1104
amd_dbgapi_callbacks_s::deallocate_memory
void(* deallocate_memory)(void *data)
Deallocate memory that was allocated by amd_dbgapi_callbacks_s::allocate_memory.
Definition: amd-dbgapi.h:6389
amd_dbgapi_report_shared_library
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_report_shared_library(amd_dbgapi_shared_library_id_t shared_library_id, amd_dbgapi_shared_library_state_t shared_library_state) AMD_DBGAPI_VERSION_0_41
Report that a shared library enabled by the amd_dbgapi_callbacks_s::enable_notify_shared_library call...
AMD_DBGAPI_WAVE_INFO_EXEC_MASK
@ AMD_DBGAPI_WAVE_INFO_EXEC_MASK
Return the current execution mask of the wave.
Definition: amd-dbgapi.h:2915
AMD_DBGAPI_STATUS_SUCCESS
@ AMD_DBGAPI_STATUS_SUCCESS
The function has executed successfully.
Definition: amd-dbgapi.h:684
AMD_DBGAPI_STATUS_ERROR_ALREADY_INITIALIZED
@ AMD_DBGAPI_STATUS_ERROR_ALREADY_INITIALIZED
The library is already initialized.
Definition: amd-dbgapi.h:732
AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_CLASS_ID
@ AMD_DBGAPI_STATUS_ERROR_INVALID_ADDRESS_CLASS_ID
The address class handle is invalid.
Definition: amd-dbgapi.h:841
amd_dbgapi_process_detach
amd_dbgapi_status_t AMD_DBGAPI amd_dbgapi_process_detach(amd_dbgapi_process_id_t process_id) AMD_DBGAPI_VERSION_0_24
Detach from a process and no longer have debug control of the AMD GPU devices it uses.
AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME
@ AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME
Request to resume a host breakpoint.
Definition: amd-dbgapi.h:5758
AMD_DBGAPI_VERSION_0_41
#define AMD_DBGAPI_VERSION_0_41
The function was introduced in version 0.41 of the interface and has the symbol version string of "AM...
Definition: amd-dbgapi.h:467
amd_dbgapi_wave_state_t
amd_dbgapi_wave_state_t
The execution state of a wave.
Definition: amd-dbgapi.h:2986
amd_dbgapi_set_memory_precision
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_24
Control precision of memory access reporting.
AMD_DBGAPI_QUEUE_INFO_OS_ID
@ AMD_DBGAPI_QUEUE_INFO_OS_ID
Native operating system queue ID.
Definition: amd-dbgapi.h:2328
AMD_DBGAPI_DISPATCH_INFO_KERNEL_ARGUMENT_SEGMENT_ADDRESS
@ AMD_DBGAPI_DISPATCH_INFO_KERNEL_ARGUMENT_SEGMENT_ADDRESS
Return the dispatch kernel argument segment address.
Definition: amd-dbgapi.h:2653
AMD_DBGAPI_QUEUE_INFO_ERROR_REASON
@ AMD_DBGAPI_QUEUE_INFO_ERROR_REASON
Return the reason the queue is in error as a bit set.
Definition: amd-dbgapi.h:2313
AMD_DBGAPI_REGISTER_CLASS_STATE_MEMBER
@ AMD_DBGAPI_REGISTER_CLASS_STATE_MEMBER
The register is a member of the register class.
Definition: amd-dbgapi.h:4481
amd_dbgapi_register_id_t
Opaque register handle.
Definition: amd-dbgapi.h:4181
amd_dbgapi_os_agent_id_t
uint64_t amd_dbgapi_os_agent_id_t
Native operating system agent ID.
Definition: amd-dbgapi.h:571
AMD_DBGAPI_LOG_LEVEL_WARNING
@ AMD_DBGAPI_LOG_LEVEL_WARNING
Print fatal error and warning messages.
Definition: amd-dbgapi.h:6016
amd_dbgapi_dispatch_get_info
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_41
Query information about a dispatch.
amd_dbgapi_event_info_t
amd_dbgapi_event_info_t
Event queries that are supported by amd_dbgapi_event_get_info.
Definition: amd-dbgapi.h:5874
amd_dbgapi_displaced_stepping_info_t
amd_dbgapi_displaced_stepping_info_t
Displaced stepping queries that are supported by amd_dbgapi_displaced_stepping_id_t.
Definition: amd-dbgapi.h:3568
amd_dbgapi_agent_id_t::handle
uint64_t handle
Definition: amd-dbgapi.h:2088