STRUCT KFD_IOCTL_RUNTIME_ENABLE_ARGS(9)
π struct kfd_ioctl_runtime_enable_args β Kernel API Manual β¨
okay so bestie, welcome to the Kernel API Manual entry for struct kfd_ioctl_runtime_enable_args π (the running header truncates it all cute like struct kfd_i..._enable_args(9) β don't panic, it's the same struct, she's just shy in the margins π«Ά). This is the little bundle of args you hand over when you're doing a runtime enable call, and yes it's giving debugger-girlie main character energy π
.
πΈ NAME πΈ
struct kfd_ioctl_runtime_enable_args β literally the arguments for runtime enable. that's it, that's the vibe β¨
π¦ SYNOPSIS π¦
struct kfd_ioctl_runtime_enable_args {
__u64 r_debug;
__u32 mode_mask;
__u32 capabilities_mask;
};
three fields, zero drama. slay π
π Members π
r_debugβ a pointer to a user struct that's there so ROCr and the debugger can share info between each other π€ like a lil group chat for processes.mode_maskβ the mask that sets the mode π₯KFD_RUNTIME_ENABLE_MODE_ENABLE_MASKβ enable runtime for debugging, otherwise disable (yep, it's a toggle situation)KFD_RUNTIME_ENABLE_MODE_TTMP_SAVE_MASKβ enable trap temporary setup (and this one gets ignored on disable, no cap π)
capabilities_maskβ the mask that notifies the runtime on what KFD actually supports π it's the "here's what I bring to the function" moment.
β Description β
This is the struct that coordinates debug exception signalling and debug device enablement with the runtime π§ it's the middleman, the mutual friend, the one who makes the plans actually happen.
Return value? 0 on SUCCESS π periodt.
- EBUSY if the runtime enable call is already pending β like, bestie, you already sent that text, chill π
- EEXIST if user queues are already active prior to the call. and heads up: if the process is debug enabled, runtime enable will enable debug devices and then wait for the debugger process to send the runtime exception
EC_PROCESS_RUNTIMEto unblock it π seekfd_ioctl_dbg_trap_args. yes, it really does just stand there waiting. iconic but also awkward.
ngl, that wait is real β the call won't come back until that exception lands π
π SEE ALSO π
kernel file ./include/uapi/linux/kfd_ioctl.h struct, and 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_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_dbg_trap_args(9)struct kfd_ioctl_pmc_settings(9)
πΈ and that's the whole page, bestie! source file lives at ./include/uapi/linux, dated October 2026, and the footer is out here repping struct kfd_i..._enable_args(9) one last time. go forth and enable your runtimes responsibly πβ¨π
π¦ 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