Lines Matching refs:data

109 	struct segmf_data *data = kmem_zalloc(sizeof (*data), KM_SLEEP);
111 mutex_init(&data->lock, "segmf.lock", MUTEX_DEFAULT, NULL);
113 seg->s_data = data;
114 return (data);
121 struct segmf_data *data;
128 data = segmf_data_zalloc(seg);
129 data->vp = specfind(a->dev, VCHR);
130 data->prot = a->prot;
131 data->maxprot = a->maxprot;
133 data->map = kmem_alloc(npages * sizeof (segmf_map_t), KM_SLEEP);
135 data->map[i].t_type = SEGMF_MAP_EMPTY;
138 error = VOP_ADDMAP(VTOCVP(data->vp), 0, as, seg->s_base, seg->s_size,
139 data->prot, data->maxprot, MAP_SHARED, CRED(), NULL);
153 struct segmf_data *data = seg->s_data;
160 VN_HOLD(data->vp);
161 ndata->vp = data->vp;
162 ndata->prot = data->prot;
163 ndata->maxprot = data->maxprot;
164 ndata->domid = data->domid;
168 bcopy(data->map, ndata->map, sz);
182 struct segmf_data *data = seg->s_data;
197 ASSERT(data->vp != NULL);
199 (void) VOP_DELMAP(VTOCVP(data->vp), off, seg->s_as, addr, len,
200 data->prot, data->maxprot, MAP_SHARED, CRED(), NULL);
209 struct segmf_data *data = seg->s_data;
212 kmem_free(data->map, npages * sizeof (segmf_map_t));
213 VN_RELE(data->vp);
214 mutex_destroy(&data->lock);
215 kmem_free(data, sizeof (*data));
224 struct segmf_data *data = seg->s_data;
233 map = &data->map[idx];
240 data->softlockcnt++;
248 (void *)addr, data->domid, mfn, prot);
265 UVMF_INVLPG | UVMF_ALL, data->domid) != 0) {
271 data->softlockcnt--;
302 struct segmf_data *data = seg->s_data;
307 ASSERT(data->softlockcnt >= btopr(len));
308 data->softlockcnt -= btopr(len);
311 if (data->softlockcnt == 0) {
329 struct segmf_data *data = seg->s_data;
333 if ((data->prot & seg_rw_to_prot(rw)) == 0)
339 error = segmf_faultpage(hat, seg, a, type, data->prot);
430 struct segmf_data *data = seg->s_data;
435 protv[--pgno] = data->prot;
459 struct segmf_data *data = seg->s_data;
461 *vpp = VTOCVP(data->vp);
495 struct segmf_data *data = seg->s_data;
497 memid->val[0] = (uintptr_t)VTOCVP(data->vp);
527 struct segmf_data *data = seg->s_data;
547 mutex_enter(&data->lock);
549 if (data->domid == 0)
550 data->domid = domid;
552 if (data->domid != domid) {
560 data->map[base + i].t_type = SEGMF_MAP_MFN;
561 data->map[base + i].u.m.m_mfn = mfn++;
570 data->map[base + i].t_type = SEGMF_MAP_EMPTY;
575 mutex_exit(&data->lock);
583 struct segmf_data *data;
604 data = seg->s_data;
606 map = &data->map[idx];
609 mutex_enter(&data->lock);
611 if (data->domid == 0)
612 data->domid = domid;
614 if (data->domid != domid) {
633 data->map[i].t_type = SEGMF_MAP_EMPTY;
638 mutex_exit(&data->lock);
646 struct segmf_data *data;
659 data = seg->s_data;
660 map = &data->map[idx];
698 struct segmf_data *data;
702 data = seg->s_data;
704 data->map[idx].u.g.g_ptep = pte_ma;
712 struct segmf_data *data;
723 data = seg->s_data;
725 map = &data->map[idx];
737 mapop[i].dom = data->domid;