Expand description
VirtIO ASM bindings.
Complete bindings for VirtIO device initialization and virtqueue operations.
§Reference
NETWORK_IMPL_GUIDE.md §2.2.2, §4
Modules§
- VirtIO device operations.
- Notification operations.
- Virtqueue operations.
- RX operations.
- TX operations.
Functions§
- Get VirtIO device ID (1 = net, 2 = block, etc.).
- Get VirtIO device status.
- Get VirtIO device version (2 = modern).
- Read device feature bits (64-bit, handles feature_sel).
- Read MAC address from config space. Returns 0 on success, 1 if MAC feature not negotiated.
- asm_
virtio_ 🔒 ⚠reset Reset VirtIO device (write 0 to status, wait for completion). Returns 0 on success, 1 on timeout. - Set VirtIO device status.
- Verify VirtIO magic value (0x74726976 = “virt”). Returns 1 if valid, 0 if not.
- Write driver-accepted feature bits.
- asm_
vq_ 🔒 ⚠disable Disable selected queue. - asm_
vq_ 🔒 ⚠enable Enable selected queue. - Get maximum queue size for selected queue.
- asm_
vq_ 🔒 ⚠init_ desc Initialize a single descriptor. - Initialize descriptor chain (for multi-descriptor buffers).
- asm_
vq_ 🔒 ⚠is_ ready Check if queue is ready. - asm_
vq_ 🔒 ⚠notify Notify device about queue activity (uses vq.notify_addr). - Direct notify with explicit address.
- asm_
vq_ 🔒 ⚠poll_ rx Poll for received packet. Returns 0 if no packet, 1 if packet ready (result populated). - Poll TX completion. Returns buffer index (0-0xFFFE) or 0xFFFFFFFF if no completion.
- Get number of pending RX packets.
- asm_
vq_ 🔒 ⚠select Select virtqueue by index. - asm_
vq_ 🔒 ⚠set_ desc Set descriptor table address. - Set device (used) ring address.
- Set driver (available) ring address.
- Set notify address in VirtqueueState.
- asm_
vq_ 🔒 ⚠set_ size Set queue size for selected queue. - asm_
vq_ 🔒 ⚠setup Full queue setup helper. - Check if notification is needed (event suppression).
- asm_
vq_ 🔒 ⚠submit_ rx Submit buffer to RX queue. Returns 0 on success, 1 if queue full. - asm_
vq_ 🔒 ⚠submit_ tx Submit buffer to TX queue. Returns 0 on success, 1 if queue full. - Get number of available TX slots.