viortc_populate_vq(9)
π viortc_populate_vq(9) β the Kernel API Manual page, but make it make sense β¨
okay bestie, so this is viortc_populate_vq(9), straight out of the Kernel API Manual, and it's literally the glow-up your alarmq has been waiting for π¦
πΈ NAME πΈ
viortc_populate_vq β populates the alarmq with device-writable buffers. that's it, that's the whole vibe check π
β¨ SYNOPSIS β¨
int viortc_populate_vq (struct viortc_dev *viortc , struct viortc_vq
*viortc_vq , u32 buf_cap , bool lock );
like, copy it exactly, no cap π
π«Ά ARGUMENTS π«Ά
viortcβ the device data. it's giving device info main character energy πviortc_vqβ device-specific data for the virtqueue. yes, specific. very demure, very mindful πbuf_capβ the device-writable buffer size, in bytes. do not come for me about units, it's bytes π₯lockβ lock the queue during accesses. say yes if you want that safety, bestie π
π DESCRIPTION π
so what it does is populate the alarmq with pre-allocated buffers π honestly iconic of it.
the caller is responsible for kicking the device. like, that part is on you, not on this function. it's a whole collaborative moment fr fr π
β CONTEXT β
Process context. that's the context. hope that clears things up bestie π¦
π₯ RETURN π₯
- Zero on success π
- negative error code otherwise π
so like, check the return value. obviously. iykyk β¨
π SEE ALSO π
everything else in the family, and yes i mean everyone:
Kernel file ./drivers/virtio/virtio_rtc_driver.c struct viortc_vq(9), struct viortc_dev(9), struct viortc_msg(9), viortc_class_from_dev(9), viortc_alarms_supported(9), viortc_feed_vq(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_alloc_vq_bufs(9), viortc_init_vqs(9), viortc_probe(9), viortc_remove(9) π«
lowkey reminder: pre-allocated buffers are doing a lot of heavy lifting here, and the caller still has to kick the device. nobody's doing that for you, bestie π
and that's the page!! sourced from ./drivers/virtio, dated October 2026, filed under viortc_populate_vq(9) β slay, go populate something π
β¨π
π¦ 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