viortc_feed_vq(9)
π viortc_feed_vq β ok so this is from the Kernel API Manual, section 9, and it's lowkey iconic
β¨ NAME β¨
viortc_feed_vq β makes a device write-only buffer available. that's it. that's the whole thing. she hands the buffer over and it's live π«Ά
πΈ SYNOPSIS πΈ
int viortc_feed_vq (struct viortc_dev *viortc , struct virtqueue *vq ,
void *buf , unsigned int buf_len , void *data );
like look at her. five arguments. return type int. no notes. π
π ARGUMENTS π
okay bestie let's go through these one by one because every single one matters, no cap:
viortcβ the device data. the whole vibe of the device lives in here.vqβ the notification virtqueue. this is the queue that gets the notif. βbufβ the buffer itself. the actual thing.buf_lenβ the buffer capacity, and it's measured in bytes (important! don't come at me with your other units).dataβ a token that identifies the buffer. literally its little name tag so everyone knows who she is. π·οΈ
π¦ CONTEXT π¦
β οΈ real talk: the caller must prevent concurrent access to vq. that's on you, not on her. no concurrent access, periodt. π₯
π RETURN π
- Zero on success π
- a negative error code otherwise π (so like, check it fr fr)
π§ SEE ALSO π§
okay this list is honestly giving main character energy, so many icons in one place:
Kernel file ./drivers/virtio/virtio_rtc_driver.c, plus: struct viortc_vq(9), struct viortc_dev(9), struct viortc_msg(9), viortc_class_from_dev(9), viortc_alarms_supported(9), viortc_msg_init(9), viortc_msg_release(9), viortc_do_cb(9), viortc_requestq_hdlr(9), viortc_cb_requestq(9), viortc_alarmq_hdlr(9), viortc_cb_alarmq(9), viortc_get_resp_errno(9), viortc_msg_xfer(9), VIORTC_DECLARE_MSG_HDL_ONSTACK(9), VIORTC_MSG(9), VIORTC_MSG_INIT(9), VIORTC_MSG_WRITE(9), VIORTC_MSG_READ(9), viortc_read(9), viortc_read_cross(9), viortc_cfg(9), viortc_clock_cap(9), viortc_cross_cap(9), viortc_read_alarm(9), viortc_set_alarm(9), viortc_set_alarm_enabled(9), viortc_init_rtc_class_clock(9), viortc_init_ptp_clock(9), viortc_init_clock(9), viortc_clocks_deinit(9), viortc_clocks_init(9), viortc_populate_vq(9), viortc_alloc_vq_bufs(9), viortc_init_vqs(9), viortc_probe(9), viortc_remove(9)
like. that's the whole friend group. read them. iykyk. π
okay that's the page!! stay hydrated, watch your vq for concurrent access, and remember β this one came out of ./drivers/virtio, dated October 2026. mwah πβ¨π
π¦ 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