Lines Matching refs:ref

216 	int ref, rc;  in get_free_entries()  local
225 ref = head = gnttab_free_head; in get_free_entries()
232 return (ref); in get_free_entries()
236 put_free_entry(grant_ref_t ref) in put_free_entry() argument
238 ASSERT(VALID_GRANT_REF(ref)); in put_free_entry()
241 GNTTAB_ENTRY(ref) = gnttab_free_head; in put_free_entry()
242 gnttab_free_head = ref; in put_free_entry()
255 int ref; in gnttab_grant_foreign_access() local
257 if ((ref = get_free_entries(1)) == -1) in gnttab_grant_foreign_access()
260 ASSERT(VALID_GRANT_REF(ref)); in gnttab_grant_foreign_access()
262 shared[ref].frame = frame; in gnttab_grant_foreign_access()
263 shared[ref].domid = domid; in gnttab_grant_foreign_access()
265 shared[ref].flags = GTF_permit_access | (readonly ? GTF_readonly : 0); in gnttab_grant_foreign_access()
267 return (ref); in gnttab_grant_foreign_access()
271 gnttab_grant_foreign_access_ref(grant_ref_t ref, domid_t domid, in gnttab_grant_foreign_access_ref() argument
274 ASSERT(VALID_GRANT_REF(ref)); in gnttab_grant_foreign_access_ref()
276 shared[ref].frame = frame; in gnttab_grant_foreign_access_ref()
277 shared[ref].domid = domid; in gnttab_grant_foreign_access_ref()
279 shared[ref].flags = GTF_permit_access | (readonly ? GTF_readonly : 0); in gnttab_grant_foreign_access_ref()
284 gnttab_query_foreign_access(grant_ref_t ref) in gnttab_query_foreign_access() argument
288 ASSERT(VALID_GRANT_REF(ref)); in gnttab_query_foreign_access()
290 nflags = shared[ref].flags; in gnttab_query_foreign_access()
297 gnttab_end_foreign_access_ref(grant_ref_t ref, int readonly) in gnttab_end_foreign_access_ref() argument
301 ASSERT(VALID_GRANT_REF(ref)); in gnttab_end_foreign_access_ref()
303 nflags = shared[ref].flags; in gnttab_end_foreign_access_ref()
309 } while ((nflags = CMPXCHG(&shared[ref].flags, flags, 0)) != flags); in gnttab_end_foreign_access_ref()
315 gnttab_end_foreign_access(grant_ref_t ref, int readonly, gnttab_frame_t page) in gnttab_end_foreign_access() argument
317 ASSERT(VALID_GRANT_REF(ref)); in gnttab_end_foreign_access()
319 if (gnttab_end_foreign_access_ref(ref, readonly)) { in gnttab_end_foreign_access()
320 put_free_entry(ref); in gnttab_end_foreign_access()
341 int ref; in gnttab_grant_foreign_transfer() local
343 if ((ref = get_free_entries(1)) == -1) in gnttab_grant_foreign_transfer()
346 ASSERT(VALID_GRANT_REF(ref)); in gnttab_grant_foreign_transfer()
348 gnttab_grant_foreign_transfer_ref(ref, domid, pfn); in gnttab_grant_foreign_transfer()
350 return (ref); in gnttab_grant_foreign_transfer()
354 gnttab_grant_foreign_transfer_ref(grant_ref_t ref, domid_t domid, pfn_t pfn) in gnttab_grant_foreign_transfer_ref() argument
356 ASSERT(VALID_GRANT_REF(ref)); in gnttab_grant_foreign_transfer_ref()
358 shared[ref].frame = pfn; in gnttab_grant_foreign_transfer_ref()
359 shared[ref].domid = domid; in gnttab_grant_foreign_transfer_ref()
361 shared[ref].flags = GTF_accept_transfer; in gnttab_grant_foreign_transfer_ref()
365 gnttab_end_foreign_transfer_ref(grant_ref_t ref) in gnttab_end_foreign_transfer_ref() argument
370 ASSERT(VALID_GRANT_REF(ref)); in gnttab_end_foreign_transfer_ref()
376 while (!((flags = shared[ref].flags) & GTF_transfer_committed)) { in gnttab_end_foreign_transfer_ref()
377 if (CMPXCHG(&shared[ref].flags, flags, 0) == flags) in gnttab_end_foreign_transfer_ref()
384 flags = shared[ref].flags; in gnttab_end_foreign_transfer_ref()
390 frame = shared[ref].frame; in gnttab_end_foreign_transfer_ref()
397 gnttab_end_foreign_transfer(grant_ref_t ref) in gnttab_end_foreign_transfer() argument
401 ASSERT(VALID_GRANT_REF(ref)); in gnttab_end_foreign_transfer()
403 frame = gnttab_end_foreign_transfer_ref(ref); in gnttab_end_foreign_transfer()
404 put_free_entry(ref); in gnttab_end_foreign_transfer()
409 gnttab_free_grant_reference(grant_ref_t ref) in gnttab_free_grant_reference() argument
411 ASSERT(VALID_GRANT_REF(ref)); in gnttab_free_grant_reference()
413 put_free_entry(ref); in gnttab_free_grant_reference()
419 grant_ref_t ref; in gnttab_free_grant_references() local
425 ref = head; in gnttab_free_grant_references()
426 while (GNTTAB_ENTRY(ref) != GNTTAB_LIST_END) { in gnttab_free_grant_references()
427 ref = GNTTAB_ENTRY(ref); in gnttab_free_grant_references()
430 GNTTAB_ENTRY(ref) = gnttab_free_head; in gnttab_free_grant_references()