alpha
Login
or
Join now
gazagnaire.org
/
ocaml-virtio
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Virtio-serial port IO for guest VMs
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
ocaml-virtio
/
lib
/
pci
/
at
main
3 files
Thomas Gazagnaire
virtio: publish ring ownership across hardware fences
4w ago
d3dacf86
dune
virtio-pci: add an output-only virtio-console Apple's Virtualization.framework presents no PL011 to an arm64 guest, only a virtio-console PCI device (the hvc0 its Linux guests use), so a unikernel booting there has nowhere to write unless it drives that device itself. Add Virtio_pci.Console: it reuses Net's register handshake (device-agnostic) and the shared split-ring Driver, and drives port 0's transmit queue (virtqueue 1). Transmit is synchronous -- each write awaits the device consuming the buffer, with a bounded spin so a dead device cannot wedge the guest -- so one data page and one descriptor suffice with no completion bookkeeping. Output only for now: the receive queue is programmed (a device expects every queue configured before DRIVER_OK) but no input is read.
1 month ago
virtio_pci.ml
virtio: publish ring ownership across hardware fences Weakly ordered ARM could expose split avail.idx or packed ownership flags before the descriptor fields they protect. Drivers could likewise consume packed fields or reuse transmit buffers without acquiring the device's completion. Separate field preparation from ownership publication in the net, block, and console frontends, and fence both sides of each handoff.
1 month ago
virtio_pci.mli
virtio: publish ring ownership across hardware fences Weakly ordered ARM could expose split avail.idx or packed ownership flags before the descriptor fields they protect. Drivers could likewise consume packed fields or reuse transmit buffers without acquiring the device's completion. Separate field preparation from ownership publication in the net, block, and console frontends, and fence both sides of each handoff.
1 month ago