CVSROOT: /cvs Module name: src Changes by: s...@cvs.openbsd.org 2019/05/26 09:20:04
Modified files: sys/dev/fdt : virtio_mmio.c sys/dev/pci : virtio_pci.c sys/dev/pv : if_vio.c vioblk.c viocon.c viomb.c viornd.c vioscsi.c virtio.c virtiovar.h vmmci.c Log message: Rework virtio_negotiate_features() Add a sc_driver_features field that is automatically used by virtio_negotiate_features() and during reinit. Make virtio_negotiate_features() return an error code. Virtio 1.0 has a special status bit for feature negotiation that means that negotiation can fail. Make virtio_negotiate_features() return an error code instead of the features. Make virtio_reinit_start() automatically call virtio_negotiate_features(). Add a convenience function virtio_has_feature() to make checking bits easier. Add an error check in viomb for virtio_negotiate_features because it has some feature bits that may cause negotiation to fail. More error checking in the child drivers is still missing. ok mlarkin@