CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2025/10/20 13:22:00
Modified files:
usr.sbin/vmd : vioblk.c vionet.c vioscsi.c virtio.c
Log message:
vmd(8): default virtio register reads to 0, not 0xffffffff.
Adopting PCI-based semantics for reading unsupported or invalid
registers by returning all 1's created an issue with Linux guests
reading feature bits beyond the 64-bits used by most VirtIO devices.
(Newer Linux kernels have started using 128-bit feature spaces
supported by VirtIO 1.2 network devices.) It's generally going to
cause bizarre driver behavior by returning non-zero values in
some cases.
Also change the undefined behavior of reading the notification
register to return 0 as well.
Reported by tobhe@.
ok sf@ and tobhe@