STRUCT KFD_IOCTL_DBG_TRAP_QUERY_EXCEPTION_INFO_ARGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct kfd_ioctl_dbg_trap_query_exception_info_args(9) β€” Kernel API Manual πŸ¦‹

🌸 NAME 🌸

okay bestie, meet struct kfd_ioctl_dbg_trap_query_exception_info_args β€” the arguments for KFD_IOC_DBG_TRAP_QUERY_EXCEPTION_INFO. That's the whole vibe: it's the lil' struct you pass for that query. 🫢

✨ SYNOPSIS ✨

struct kfd_ioctl_dbg_trap_query_exception_info_args {
    __u64 info_ptr;
    __u32 info_size;
    __u32 source_id;
    __u32 exception_code;
    __u32 clear_exception;
};

πŸ’… Members πŸ’…

  • info_ptr β€” (IN) pointer to exception info buffer to copy to. It's giving destination energy. 🎯
  • info_size β€” (IN/OUT) exception info buffer size (bytes). Two-way street, bestie. πŸ”
  • source_id β€” (IN) target gpu or queue id. iykyk which one you're poking. πŸ‘€
  • exception_code β€” (IN) target exception. The main character of this struct, lowkey. ⭐
  • clear_exception β€” (IN) clear raised exception_code exception (0 = false, 1 = true). Yes, those exact values, no improv. πŸ’…

πŸ“ Description πŸ“

This one gets you additional info on a raised exception. Generic errors apply (see kfd_dbg_trap_operations). Return - 0 on SUCCESS.

If exception_code is EC_DEVICE_MEMORY_VIOLATION, copy info_size(OUT) bytes of memory exception data to info_ptr. If exception_code is EC_PROCESS_RUNTIME, copy saved kfd_runtime_info to info_ptr. Actual required info_ptr size (bytes) is returned in info_size.

bestie, clock that info_size is doing IN/OUT duty β€” the actual required info_ptr size comes back through it. Don't ignore the return glow-up. ✨

πŸ‘€ SEE ALSO πŸ‘€

Kernel file ./include/uapi/linux/kfd_ioctl.h, plus these besties:

  • struct kfd_ioctl_criu_args(9)
  • enum kfd_ioctl_svm_op(9)
  • enum kfd_ioctl_svm_attr_type(9)
  • struct kfd_ioctl_svm_attribute(9)
  • struct kfd_ioctl_svm_args(9)
  • struct kfd_ioctl_set_xnack_mode_args(9)
  • struct kfd_ioctl_runtime_enable_args(9)
  • struct kfd_ioctl_dbg_trap_enable_args(9)
  • struct kfd_ioctl_dbg_trap_send_runtime_event_args(9)
  • struct kfd_ioctl_dbg_trap_set_exceptions_enabled_args(9)
  • struct kfd_ioctl_dbg_trap_set_wave_launch_override_args(9)
  • struct kfd_ioctl_dbg_trap_set_wave_launch_mode_args(9)
  • struct kfd_ioctl_dbg_trap_suspend_queues_args(9)
  • struct kfd_ioctl_dbg_trap_resume_queues_args(9)
  • struct kfd_ioctl_dbg_trap_set_node_address_watch_args(9)
  • struct kfd_ioctl_dbg_trap_clear_node_address_watch_args(9)
  • struct kfd_ioctl_dbg_trap_set_flags_args(9)
  • struct kfd_ioctl_dbg_trap_query_debug_event_args(9)
  • struct kfd_ioctl_dbg_trap_queue_snapshot_args(9)
  • struct kfd_ioctl_dbg_trap_device_snapshot_args(9)
  • struct kfd_ioctl_dbg_trap_args(9)
  • struct kfd_ioctl_pmc_settings(9)

okay that's the page, bestie πŸ’– β€” source/version footer moment: this is from ./include/uapi/linux, dated October 2026. Periodt. 🌈

πŸ“¦ where this page comes from