| 269 | }; |
| 270 | |
| 271 | static inline int |
| 272 | desc_is_used(struct vring_packed_desc *desc, struct virtqueue *vq) |
| 273 | { |
| 274 | uint16_t used, avail, flags; |
| 275 | |
| 276 | flags = virtqueue_fetch_flags_packed(desc, vq->hw->weak_barriers); |
| 277 | used = !!(flags & VRING_PACKED_DESC_F_USED); |
| 278 | avail = !!(flags & VRING_PACKED_DESC_F_AVAIL); |
| 279 | |
| 280 | return avail == used && used == vq->vq_packed.used_wrap_counter; |
| 281 | } |
| 282 | |
| 283 | static inline void |
| 284 | vring_desc_init_packed(struct virtqueue *vq, int n) |
no test coverage detected