static inline void vring_used_write(VirtQueue *vq, VRingUsedElem *uelem,

                                    int i)

{

    VRingMemoryRegionCaches *caches = atomic_rcu_read(&vq->vring.caches);

    hwaddr pa = offsetof(VRingUsed, ring[i]);

    virtio_tswap32s(vq->vdev, &uelem->id);

    virtio_tswap32s(vq->vdev, &uelem->len);

    address_space_write_cached(&caches->used, pa, uelem, sizeof(VRingUsedElem));

    address_space_cache_invalidate(&caches->used, pa, sizeof(VRingUsedElem));

}

static inline void vring_used_write(VirtQueue *vq, VRingUsedElem *uelem,

                                    int i)

{

    VRingMemoryRegionCaches *caches = atomic_rcu_read(&vq->vring.caches);

    hwaddr pa = offsetof(VRingUsed, ring[i]);

    virtio_tswap32s(vq->vdev, &uelem->id);

    virtio_tswap32s(vq->vdev, &uelem->len);

    address_space_write_cached(&caches->used, pa, uelem, sizeof(VRingUsedElem));

    address_space_cache_invalidate(&caches->used, pa, sizeof(VRingUsedElem));

}

    VRingMemoryRegionCaches *caches = atomic_rcu_read(&vq->vring.caches);     VRingMemoryRegionCaches *caches = atomic_rcu_read(&vq->vring.caches);     VRingMemoryRegionCaches *caches = atomic_rcu_read(&vq->vring.caches);     VRingMemoryRegionCaches *caches = atomic_rcu_read(&vq->vring.caches);     VRingMemoryRegionCaches *caches = atomic_rcu_read(&vq->vring.caches);     VRingMemoryRegionCaches *caches = atomic_rcu_read(&vq->vring.caches);     VRingMemoryRegionCaches *caches = atomic_rcu_read(&vq->vring.caches);     VRingMemoryRegionCaches *caches = atomic_rcu_read(&vq->vring.caches);
static inline void FUNC_0(VirtQueue *VAR_0, VRingUsedElem *VAR_1,

                                    int VAR_2)

{

    VRingMemoryRegionCaches *caches = atomic_rcu_read(&VAR_0->vring.caches);

    hwaddr pa = offsetof(VRingUsed, ring[VAR_2]);

    virtio_tswap32s(VAR_0->vdev, &VAR_1->id);

    virtio_tswap32s(VAR_0->vdev, &VAR_1->len);

    address_space_write_cached(&caches->used, pa, VAR_1, sizeof(VRingUsedElem));

    address_space_cache_invalidate(&caches->used, pa, sizeof(VRingUsedElem));

}

static inline void FUNC_0(VirtQueue *VAR_0, VRingUsedElem *VAR_1,
int VAR_2)
{ VRingMemoryRegionCaches *caches = atomic_rcu_read(&VAR_0->vring.caches); hwaddr pa = offsetof(VRingUsed, ring[VAR_2]); virtio_tswap32s(VAR_0->vdev, &VAR_1->id); virtio_tswap32s(VAR_0->vdev, &VAR_1->len); address_space_write_cached(&caches->used, pa, VAR_1, sizeof(VRingUsedElem)); address_space_cache_invalidate(&caches->used, pa, sizeof(VRingUsedElem)); }