Lines Matching refs:guest
41 struct guest {
52 } guest;
78 guest.avail_idx = 0;
79 guest.kicked_avail_idx = -1;
80 guest.last_used_idx = 0;
83 guest.free_head = 0;
89 guest.num_free = ring_size;
98 /* guest side */
107 if (!guest.num_free)
111 head = (ring_size - 1) & (guest.avail_idx++);
113 head = guest.free_head;
115 guest.num_free--;
127 guest.free_head = desc[head].next;
135 avail = guest.avail_idx++;
142 avail = (ring_size - 1) & (guest.avail_idx++);
148 ring.avail->idx = guest.avail_idx;
159 head = (ring_size - 1) & guest.last_used_idx;
161 if ((index ^ guest.last_used_idx ^ 0x8000) & ~(ring_size - 1))
167 if (ring.used->idx == guest.last_used_idx)
172 head = (ring_size - 1) & guest.last_used_idx;
175 head = (ring_size - 1) & guest.last_used_idx;
189 ring.desc[index].next = guest.free_head;
190 guest.free_head = index;
192 guest.num_free++;
193 guest.last_used_idx++;
199 unsigned short last_used_idx = guest.last_used_idx;
219 vring_used_event(&ring) = guest.last_used_idx;
234 guest.avail_idx,
235 guest.kicked_avail_idx);
237 guest.kicked_avail_idx = guest.avail_idx;