STRUCT VIRTPROC_INFO(9)
okay bestie, pull up a seat β this is struct virtproc_info(9) from the Kernel API Manual πβ¨
π NAME π
struct virtproc_info β virtual remote processor state, no cap π
β¨ SYNOPSIS β¨
Hereβs the struct in all its glory, bestie β every field exactly as it appears:
struct virtproc_info {
struct virtio_device *vdev;
struct virtqueue *rvq, *svq;
void *rbufs, *sbufs;
unsigned int num_bufs;
unsigned int buf_size;
int last_sbuf;
dma_addr_t bufs_dma;
struct mutex tx_lock;
struct idr endpoints;
struct mutex endpoints_lock;
wait_queue_head_t sendq;
};
π«Ά Members π«Ά
vdevβ the virtio device, literally the main character here πrvqβ rx virtqueuesvqβ tx virtqueuerbufsβ kernel address of rx bufferssbufsβ kernel address of tx buffersnum_bufsβ total number of buffers for rx and txbuf_sizeβ size of one rx or tx bufferlast_sbufβ index of last tx buffer usedbufs_dmaβ dma base addr of the bufferstx_lockβ protectssvqandsbufs, to allow concurrent senders. Sending a message might require waking up a dozing remote processor, which involves sleeping, hence the mutex. So yeah β itβs a mutex because sleep is involved πendpointsβ idr of local endpoints, allows fast retrievalendpoints_lockβ lock of the endpoints setsendqβ wait queue of sending contexts waiting for a tx buffers
πΈ Description πΈ
This structure stores the rpmsg state of a given virtio remote processor device β and heads up, there might be several virtio proc devices for each physical remote processor. Itβs giving βstate keeper for the rpmsg vibesβ β¨π¦
π₯ SEE ALSO π₯
Kernel file ./drivers/rpmsg/virtio_rpmsg_bus.c β go read it, bestie β plus these cuties:
struct rpmsg_hdr(9)struct virtio_rpmsg_channel(9)rpmsg_sg_init(9)__ept_release(9)__rpmsg_destroy_ept(9)rpmsg_send_offchannel_raw(9)
mwah π this page was served fresh from ./drivers/rpmsg in October 2026 β struct virtproc_info(9), Kernel API Manual, periodt. π«Άβ¨
π¦ 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