diff options
| author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2014-12-11 14:25:06 +0100 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2015-02-26 13:04:07 +0100 |
| commit | ef546f1275f6563e8934dd5e338d29d9f9909ca6 (patch) | |
| tree | 49f88ac3f5533f612a0e9f93be451c54edd41917 /include/hw/virtio/virtio.h | |
| parent | 0cd09c3a6cc2230ba38c462fc410b4acce59eb6f (diff) | |
| download | focaccia-qemu-ef546f1275f6563e8934dd5e338d29d9f9909ca6.tar.gz focaccia-qemu-ef546f1275f6563e8934dd5e338d29d9f9909ca6.zip | |
virtio: add feature checking helpers
Add a helper function for checking whether a bit is set in the guest features for a vdev as well as one that works on a feature bit set. Convert code that open-coded this: It cleans up the code and makes it easier to extend the guest feature bits. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/hw/virtio/virtio.h')
| -rw-r--r-- | include/hw/virtio/virtio.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h index 85e72d6fd9..d95f8b6d50 100644 --- a/include/hw/virtio/virtio.h +++ b/include/hw/virtio/virtio.h @@ -231,6 +231,17 @@ static inline void virtio_clear_feature(uint32_t *features, unsigned int fbit) *features &= ~(1 << fbit); } +static inline bool __virtio_has_feature(uint32_t features, unsigned int fbit) +{ + assert(fbit < 32); + return !!(features & (1 << fbit)); +} + +static inline bool virtio_has_feature(VirtIODevice *vdev, unsigned int fbit) +{ + return __virtio_has_feature(vdev->guest_features, fbit); +} + static inline bool virtio_is_big_endian(VirtIODevice *vdev) { assert(vdev->device_endian != VIRTIO_DEVICE_ENDIAN_UNKNOWN); |