xe_sriov_vfio_data_read(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– xe_sriov_vfio_data_read(9) β€” Kernel API Manual energy πŸ’–

okay so bestie, welcome to the xe_sriov_vfio_data_read(9) page ✨ this is the Kernel API Manual moment and honestly it's giving "read the migration data off the VF device" and nothing less 🫢


🌸 NAME 🌸

xe_sriov_vfio_data_read β€” literally reads migration data from the VF device πŸ’… no cap, that's the whole vibe of this function.


✨ SYNOPSIS ✨

ssize_t xe_sriov_vfio_data_read (struct xe_device *xe , unsigned int
vfid , char __user *buf , size_t len );

like, here's the whole signature, character for character, don't @ me πŸŽ€


πŸ¦‹ ARGUMENTS πŸ¦‹

okay so every single one of these matters, let's go through them one by one:

  • xe β€” the PF xe_device, and you get it by calling xe_sriov_vfio_get_pf ⭐ that's the source bestie, don't skip it.
  • vfid β€” the VF identifier 🎯 and heads up: it can't be 0 πŸ™ˆ like literally not allowed.
  • buf β€” the start address of the userspace buffer 🌈 that's where the data lands.
  • len β€” the requested read size from userspace πŸ”₯ like how much they're asking for.

πŸ‘‘ RETURN πŸ‘‘

so what comes back? here's the rundown:

  • the number of bytes that has been successfully read βœ… love that for you
  • 0 if no more migration data is available πŸ’€ like, that's it, nothing left
  • -errno on failure 😭 the classic

πŸ’œ SEE ALSO πŸ’œ

go off bestie, here's the whole squad 🫢 starting with the kernel file ./include/drm/intel/xe_sriov_vfio.h β€” all of these live in the same family:


and that's the page!! 🌈 mwah πŸ’‹ this queen dropped out of ./include/drm/intel back in October 2026 and she's been iconic ever since β€” okurrr, go read some migration data, iykyk πŸ§šβ€β™€οΈπŸ’–

πŸ“¦ where this page comes from