STRUCT KFD_IOCTL_DBG_TRAP_SET_WAVE_LAUNCH_OVERRIDE_ARGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct kfd_ioctl_dbg_trap_set_wave_launch_override_args β€” Kernel API Manual energy ✨

okay so bestie, welcome to the Kernel API Manual πŸŽ€ and today's main character is struct kfd_ioctl_dbg_trap_set_wave_launch_override_args β€” yes that's a whole mouthful, yes she's iconic, let's get into it πŸ¦‹


🌸 NAME 🌸

struct kfd_ioctl_dbg_trap_set_wave_launch_override_args β€” literally the arguments struct for KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_OVERRIDE πŸ’– that's it, that's the vibe.


✨ SYNOPSIS ✨

struct kfd_ioctl_dbg_trap_set_wave_launch_override_args {
    __u32 override_mode;
    __u32 enable_mask;
    __u32 support_request_mask;
 };

three little __u32 fields, no cap, she's compact πŸ‘‘


🫢 Members 🫢

  • override_mode β€” tagged (IN) πŸ’… β€” go peek at kfd_dbg_trap_override_mode, iykyk.
  • enable_mask β€” tagged (IN/OUT) πŸ” β€” reference kfd_dbg_trap_mask. the IN side is the override modes you're requesting to be enabled. the OUT side gets referenced down in Return below, so don't forget her.
  • support_request_mask β€” also tagged (IN/OUT) πŸ” β€” again, reference kfd_dbg_trap_mask. IN = the override modes you're requesting for a support check. OUT = also referenced in Return below. two-for-one deal, we love to see it πŸ“

πŸ”₯ Description πŸ”₯

Enable HW exceptions to raise trap. periodt. πŸ’€

Generic errors apply (see kfd_dbg_trap_operations). Return is 0 on SUCCESS πŸŽ‰. The previous enablement gets handed back to you in enable_mask, and the actual override support comes back in support_request_mask β€” like a little gift 🎁.

  • EINVAL if the override mode is not supported πŸ™ˆ β€” she simply doesn't do that.
  • EACCES if the trap support requested is not actually supported 😭 β€” i.e. enable_mask (IN) is not a subset of support_request_mask (OUT). Otherwise it's considered a generic error (see kfd_dbg_trap_operations).
ngl bestie, note that enable_mask (IN) not being a subset of support_request_mask (OUT) is exactly what triggers EACCES β€” read that twice, it matters 🧚

🌈 SEE ALSO 🌈

Kernel file ./include/uapi/linux/kfd_ioctl.h, plus the whole friend group πŸ’œ:

  • 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_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_dbg_trap_args(9)
  • struct kfd_ioctl_pmc_settings(9)

k bye bestie, go read the source at ./include/uapi/linux, dated October 2026, and slay πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from