STRUCT VDPA_DEVICE(9)
β¨ NAME β¨
struct vdpa_device β the representation of a vDPA device, no cap π
okay so this is struct vdpa_device(9) from the Kernel API Manual, and we are about to get into it. bestie, it's giving kernel struct main character energy π«Ά
πΈ SYNOPSIS πΈ
here's the whole struct, character-for-character, because we do not play about code:
struct vdpa_device {
struct device dev;
union virtio_map vmap;
const struct vdpa_config_ops *config;
const struct virtio_map_ops *map;
struct rw_semaphore cf_lock;
unsigned int index;
bool features_valid;
bool use_va;
u32 nvqs;
struct vdpa_mgmt_dev *mdev;
unsigned int ngroups;
unsigned int nas;
};
π Members π
field-by-field, because we do not skip a single one π
devβ underlying devicevmapβ the metadata passed to upper layer to be used for mappingconfigβ the configuration ops for this devicemapβ the map ops for this devicecf_lockβ Protects get and set access to configuration layoutindexβ device indexfeatures_validβ were features initialized? for legacy guestsuse_vaβ indicate whether virtual address must be used by this devicenvqsβ maximum number of supported virtqueuesmdevβ management device pointer; caller must setup when registering device as part of dev_add mgmtdev ops callback before invoking_vdpa_register_devicengroupsβ the number of virtqueue groupsnasβ the number of address spaces
π¦ SEE ALSO π¦
go look at these too, iykyk:
- Kernel file
./include/linux/vdpa.h struct vdpa_callback(9)struct vdpa_notification_area(9)struct vdpa_vq_state_split(9)struct vdpa_vq_state_packed(9)struct vdpa_iova_range(9)struct vdpa_map_file(9)struct vdpa_config_ops(9)vdpa_alloc_device(9)struct vdpa_driver(9)struct vdpa_mgmtdev_ops(9)struct vdpa_mgmt_dev(9)
k bye bestie, this page is from ./include/linux, dated October 2026 β slay and stay hydrated ππ
π¦ 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