STRUCT KFD_IOCTL_DBG_TRAP_ARGS(9)
π 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 (peepkfd_dbg_trap_operationsfor 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms