summaryrefslogtreecommitdiffstats
path: root/sys/dev/pv/viomb.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Replace TAILQ concatenation loop with TAILQ_CONCATbket2020-09-041-5/+2
| | | | OK millert@, florian@
* Replace TAILQ concatenation loop with TAILQ_CONCATbket2020-06-271-7/+2
| | | | | | As a result remove unneeded variable OK kn@, millert@
* Rework virtio_negotiate_features()sf2019-05-261-5/+6
| | | | | | | | | | | | | | | | | | | | | | 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@
* virtio: Prepare for 64 feature bitssf2019-03-241-3/+3
| | | | | | | | | | | virtio 1.0 supports an arbitrary number of feature bits. However, so far no more than 64 are used (compared to 32 in virtio 0.9). Adjust data types to support 64 feature bits. Later, we may want to use bitmaps and setbit(), ... to support even more feature bits. ok mlarkin@
* viomb: tweak feature negotiationsf2019-01-191-6/+3
| | | | | | | | VIRTIO_F_RING_INDIRECT_DESC is always negotiated by the transport driver, no need to specify it explicitly. VIRTIO_BALLOON_F_MUST_TELL_HOST is not offered but is handled in the code. Offer it during negotiation, too.
* virtio: Don't include feature strings without VIRTIO_DEBUGsf2019-01-081-1/+3
| | | | | They are only used if VIRTIO_DEBUG is enabled. This should make the kernel slightly smaller.
* Move viomb.c to sys/dev/pv/viomb.creyk2017-01-211-0/+481
virtio itself is not PCI, it is a paravirtual bus on top of either PCI or MMIO (arm). This is the second step of moving the virtio files to dev/pv. No functional change. Moving the file is done by removing and adding it again - the old history can be found in the Attic of sys/dev/pci/viomb.c. no objections from sf@ mlarkin@