Lines Matching defs:gs
216 ge_slot_t *gs;
232 gs = kmem_cache_alloc(xdf_gs_cache, KM_NOSLEEP);
233 if (gs == NULL) {
243 gs->gs_oeid = vdp->xdf_peer;
244 gs->gs_isread = isread;
245 gs->gs_ghead = gh;
246 gs->gs_ngrefs = 0;
248 return (gs);
252 gs_free(ge_slot_t *gs)
257 for (i = 0; i < gs->gs_ngrefs; i++)
258 gnttab_end_foreign_access(gs->gs_ge[i], !gs->gs_isread, 0);
259 gnttab_free_grant_references(gs->gs_ghead);
260 list_remove(&gs->gs_vreq->v_gs, gs);
261 kmem_cache_free(xdf_gs_cache, gs);
265 gs_grant(ge_slot_t *gs, mfn_t mfn)
267 grant_ref_t gr = gnttab_claim_grant_reference(&gs->gs_ghead);
270 ASSERT(gs->gs_ngrefs < BLKIF_MAX_SEGMENTS_PER_REQUEST);
271 gs->gs_ge[gs->gs_ngrefs++] = gr;
272 gnttab_grant_foreign_access_ref(gr, gs->gs_oeid, mfn, !gs->gs_isread);
396 ge_slot_t *gs;
407 if ((gs = gs_get(vdp, IS_READ(bp))) == NULL) {
416 gs->gs_vreq = vreq;
417 list_insert_head(&vreq->v_gs, gs);
545 if ((gs = gs_get(vdp, IS_READ(bp))) == NULL) {
552 gs->gs_vreq = vreq;
553 list_insert_head(&vreq->v_gs, gs);
567 if ((gs = gs_get(vdp, IS_READ(bp))) == NULL) {
577 gs->gs_vreq = vreq;
578 list_insert_head(&vreq->v_gs, gs);
905 ge_slot_t *gs = (ge_slot_t *)(uintptr_t)id;
906 v_req_t *vreq = gs->gs_vreq;
912 gs_free(gs);
1081 ge_slot_t *gs;
1124 while ((gs = list_head(&vreq->v_gs)) != NULL)
1125 gs_free(gs);
1243 ge_slot_t *gs = list_head(&vreq->v_gs);
1257 (uint64_t)(uintptr_t)(gs));
1278 ddi_put64(acchdl, &rreq->id, (uint64_t)(uintptr_t)(gs));
1300 gr = gs_grant(gs, PATOMA(dma_addr) >> PAGESHIFT);