Wow great job digging through all these hypervisors!
On Mon, Apr 07, 2025 at 10:38:59AM +0200, David Hildenbrand wrote:
crossvm:
https://github.com/google/crosvm/blob/main/devices/src/virtio/balloon.rs
-> Hard-codes queue numbers; does *not* offer/implement
VIRTIO_BALLOON_F_STATS_VQ but does offer VIRTIO_BALLOON_F_STATS_VQ
and VIRTIO_BALLOON_F_DEFLATE_ON_OOM.
-> Implements something that is not in the virtio-spec
const VIRTIO_BALLOON_F_WS_REPORTING: u32 = 8; // Working Set Reporting
virtqueues
and
const WS_DATA_VQ: usize = 5;
const WS_OP_VQ: usize = 6;
IIUC, Linux inside cross-vm might actually be problematic? They would
disagree on the virtqueue for free-page-reporting
That's why things must be tied to negotiated features, not to offered
ones.