CVSROOT: /cvs
Module name: src
Changes by: [email protected] 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@