Lines Matching +full:attribute +full:- +full:set
35 #include "standard-headers/linux/types.h"
36 #include "standard-headers/linux/virtio_types.h"
40 /* This marks a buffer as write-only (otherwise read-only). */
52 /* The Host uses this in used->flags to advise the Guest: don't kick me when
56 /* The Guest uses this in avail->flags to advise the Host: don't interrupt me
82 * at the end of the avail ring. Host should ignore the avail->flags field. */
84 * at the end of the used ring. Guest should ignore the used->flags field. */
88 * When using pre-virtio 1.0 layout, these fall out naturally.
95 * struct vring_desc - Virtio ring descriptors,
98 * @addr: buffer address (guest-physical)
102 * if the VRING_DESC_F_NEXT flag is set. We chain unused
137 * alignments assumptions. Thus, we might need to decrease the compiler-selected
138 * alignment, and so must use a typedef to make sure the aligned attribute
141 * https://gcc.gnu.org/onlinedocs//gcc/Common-Type-Attributes.html#Common-Type-Attributes
143 * When used on a struct, or struct member, the aligned attribute can only
144 * increase the alignment; in order to decrease it, the packed attribute must
145 * be specified as well. When used as part of a typedef, the aligned attribute
147 * attribute generates a warning.
176 * // A ring of available descriptor heads with free-running index.
185 * // A ring of used descriptor heads with free-running index.
194 #define vring_used_event(vr) ((vr)->avail->ring[(vr)->num])
195 #define vring_avail_event(vr) (*(__virtio16 *)&(vr)->used->ring[(vr)->num])
200 vr->num = num; in vring_init()
201 vr->desc = p; in vring_init()
202 vr->avail = (struct vring_avail *)((char *)p + num * sizeof(struct vring_desc)); in vring_init()
203 vr->used = (void *)(((uintptr_t)&vr->avail->ring[num] + sizeof(__virtio16) in vring_init()
204 + align-1) & ~(align - 1)); in vring_init()
210 + align - 1) & ~(align - 1)) in vring_size()
222 /* Note: Xen has similar logic for notification hold-off in vring_need_event()
227 return (uint16_t)(new_idx - event_idx - 1) < (uint16_t)(new_idx - old); in vring_need_event()