enqcmds(9)
π enqcmds(9) β¨
welcome to the Kernel API Manual, bestie β we're doing kernel-mode hardware stuff today and it's honestly iconic π«Ά
πΈ NAME πΈ
enqcmds β enqueue a command in supervisor (CPL0) mode π«
β¨ SYNOPSIS β¨
int enqcmds (void __iomem *dst , const void *src );
that's the whole signature, no cap π
π ARGUMENTS π
dstβ destination, in MMIO space (must be 512-bit aligned) πsrcβ 512 bits memory operand π§Ί
π¦ DESCRIPTION π¦
okay so the ENQCMDS instruction lets software write a 512-bit command to a 512-bit-aligned special MMIO region that supports the instruction. it's giving very specific hardware energy π₯
a return status gets loaded into the ZF flag in the RFLAGS register. ZF = 0 equates to success, and ZF = 1 indicates retry or error β so yes, zero is the slay outcome and one means retry or something went sideways ππ
this function issues the ENQCMDS instruction to submit data from kernel space to MMIO space, in a unit of 512 bits. order of data access is not guaranteed, nor is a memory barrier performed afterwards. it returns 0 on success and -EAGAIN on failure. periodt π
β οΈ Warning: Do not use this helper unless your driver has checked that theENQCMDSinstruction is supported on the platform and the device acceptsENQCMDS. like, fr fr β no vibes-based driver assumptions here π
π SEE ALSO π
Kernel file ./arch/x86/include/asm/special_insns.h β go read it for the receipts, bestie πβ¨
mwah π β page source/version is ./arch/x86/include/asm, dated October 2026. stay iconic, kernel bestie ππ
π¦ 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