STRUCT KFD_IOCTL_DBG_TRAP_ARGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct kfd_ioctl_dbg_trap_args(9) πŸ’–

okay so bestie, we're in the Kernel API Manual today and this page is literally all about struct kfd_ioctl_dbg_trap_args β€” the argument package you hand over when you wanna debug a target process. it's giving "backstage pass to somebody else's program" energy, ngl 🎟️✨


🌸 NAME 🌸

struct kfd_ioctl_dbg_trap_args β€” the arguments you pass in to debug a target process. that's it, that's the whole vibe πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct kfd_ioctl_dbg_trap_args {
    __u32 pid;
    __u32 op;
    union {
      struct kfd_ioctl_dbg_trap_enable_args enable;
      struct kfd_ioctl_dbg_trap_send_runtime_event_args send_runtime_event;
      struct kfd_ioctl_dbg_trap_set_exceptions_enabled_args set_exceptions_enabled;
      struct kfd_ioctl_dbg_trap_set_wave_launch_override_args launch_override;
      struct kfd_ioctl_dbg_trap_set_wave_launch_mode_args launch_mode;
      struct kfd_ioctl_dbg_trap_suspend_queues_args suspend_queues;
      struct kfd_ioctl_dbg_trap_resume_queues_args resume_queues;
      struct kfd_ioctl_dbg_trap_set_node_address_watch_args set_node_address_watch;
      struct kfd_ioctl_dbg_trap_clear_node_address_watch_args clear_node_address_watch;
      struct kfd_ioctl_dbg_trap_set_flags_args set_flags;
      struct kfd_ioctl_dbg_trap_query_debug_event_args query_debug_event;
      struct kfd_ioctl_dbg_trap_query_exception_info_args query_exception_info;
      struct kfd_ioctl_dbg_trap_queue_snapshot_args queue_snapshot;
      struct kfd_ioctl_dbg_trap_device_snapshot_args device_snapshot;
    };
};

look at that union go 😭 it's a whole menu of debug structs and op is the little waiter taking your order. iconic.


πŸŽ€ Members πŸŽ€

  • pid β€” the target process you're gonna debug. literally who we're snooping on πŸ‘€
  • op β€” the debug operation. this is the selector bestie, it picks what you're doing (peep kfd_dbg_trap_operations for the full list) 🎯
  • {unnamed_union} β€” anonymous. yes, she has no name. mysterious. main character energy tbh πŸ™ˆ

⭐ Description ⭐

so here's the tea 🍡: op is the boss here β€” it decides which union struct's args actually get used. that's it, that's the mechanic.

for the deets on each individual kfd_ioctl_dbg_trap_*_args struct, go check the kern docs, they've got the full breakdown for every single one πŸ“šβœ¨


πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./include/uapi/linux/kfd_ioctl.h
  • 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_query_exception_info_args(9)
  • struct kfd_ioctl_dbg_trap_queue_snapshot_args(9)
  • struct kfd_ioctl_dbg_trap_device_snapshot_args(9)
  • struct kfd_ioctl_pmc_settings(9)

like, read the whole friend group, they all hang out together fr fr 🫢


quick reminder bestie: this page lives in ./include/uapi/linux, dated October 2026 β€” that's the source and the date, and yes i'm telling you because the footer said so πŸ’œ

anyway ily, go debug something responsibly, mwah πŸ’‹πŸŒˆ periodt.

πŸ“¦ where this page comes from