Symbol: vtdmap
sys/amd64/vmm/intel/vtd.c
118
static struct vtdmap *vtdmaps[DRHD_MAX_UNITS];
sys/amd64/vmm/intel/vtd.c
128
vtd_max_domains(struct vtdmap *vtdmap)
sys/amd64/vmm/intel/vtd.c
132
nd = VTD_CAP_ND(vtdmap->cap);
sys/amd64/vmm/intel/vtd.c
176
static struct vtdmap *
sys/amd64/vmm/intel/vtd.c
181
struct vtdmap *vtdmap;
sys/amd64/vmm/intel/vtd.c
196
vtdmap = vtdmaps[i];
sys/amd64/vmm/intel/vtd.c
197
return(vtdmap);
sys/amd64/vmm/intel/vtd.c
229
vtdmap = vtdmaps[i];
sys/amd64/vmm/intel/vtd.c
230
return (vtdmap);
sys/amd64/vmm/intel/vtd.c
240
vtd_wbflush(struct vtdmap *vtdmap)
sys/amd64/vmm/intel/vtd.c
243
if (VTD_ECAP_COHERENCY(vtdmap->ext_cap) == 0)
sys/amd64/vmm/intel/vtd.c
246
if (VTD_CAP_RWBF(vtdmap->cap)) {
sys/amd64/vmm/intel/vtd.c
247
vtdmap->gcr = VTD_GCR_WBF;
sys/amd64/vmm/intel/vtd.c
248
while ((vtdmap->gsr & VTD_GSR_WBFS) != 0)
sys/amd64/vmm/intel/vtd.c
254
vtd_ctx_global_invalidate(struct vtdmap *vtdmap)
sys/amd64/vmm/intel/vtd.c
257
vtdmap->ccr = VTD_CCR_ICC | VTD_CCR_CIRG_GLOBAL;
sys/amd64/vmm/intel/vtd.c
258
while ((vtdmap->ccr & VTD_CCR_ICC) != 0)
sys/amd64/vmm/intel/vtd.c
263
vtd_iotlb_global_invalidate(struct vtdmap *vtdmap)
sys/amd64/vmm/intel/vtd.c
268
vtd_wbflush(vtdmap);
sys/amd64/vmm/intel/vtd.c
270
offset = VTD_ECAP_IRO(vtdmap->ext_cap) * 16;
sys/amd64/vmm/intel/vtd.c
271
iotlb_reg = (volatile uint64_t *)((caddr_t)vtdmap + offset + 8);
sys/amd64/vmm/intel/vtd.c
284
vtd_translation_enable(struct vtdmap *vtdmap)
sys/amd64/vmm/intel/vtd.c
287
vtdmap->gcr = VTD_GCR_TE;
sys/amd64/vmm/intel/vtd.c
288
while ((vtdmap->gsr & VTD_GSR_TES) == 0)
sys/amd64/vmm/intel/vtd.c
293
vtd_translation_disable(struct vtdmap *vtdmap)
sys/amd64/vmm/intel/vtd.c
296
vtdmap->gcr = 0;
sys/amd64/vmm/intel/vtd.c
297
while ((vtdmap->gsr & VTD_GSR_TES) != 0)
sys/amd64/vmm/intel/vtd.c
305
struct vtdmap *vtdmap;
sys/amd64/vmm/intel/vtd.c
327
vtdmaps[units] = (struct vtdmap *)PHYS_TO_DMAP(mapaddr);
sys/amd64/vmm/intel/vtd.c
356
vtdmaps[units] = (struct vtdmap *)PHYS_TO_DMAP(drhd->Address);
sys/amd64/vmm/intel/vtd.c
370
vtdmap = vtdmaps[i];
sys/amd64/vmm/intel/vtd.c
372
if (VTD_CAP_CM(vtdmap->cap) != 0)
sys/amd64/vmm/intel/vtd.c
376
if ((tmp = vtd_max_domains(vtdmap)) < max_domains)
sys/amd64/vmm/intel/vtd.c
403
struct vtdmap *vtdmap;
sys/amd64/vmm/intel/vtd.c
406
vtdmap = vtdmaps[i];
sys/amd64/vmm/intel/vtd.c
407
vtd_wbflush(vtdmap);
sys/amd64/vmm/intel/vtd.c
410
vtdmap->rta = vtophys(root_table);
sys/amd64/vmm/intel/vtd.c
411
vtdmap->gcr = VTD_GCR_SRTP;
sys/amd64/vmm/intel/vtd.c
412
while ((vtdmap->gsr & VTD_GSR_RTPS) == 0)
sys/amd64/vmm/intel/vtd.c
415
vtd_ctx_global_invalidate(vtdmap);
sys/amd64/vmm/intel/vtd.c
416
vtd_iotlb_global_invalidate(vtdmap);
sys/amd64/vmm/intel/vtd.c
418
vtd_translation_enable(vtdmap);
sys/amd64/vmm/intel/vtd.c
426
struct vtdmap *vtdmap;
sys/amd64/vmm/intel/vtd.c
429
vtdmap = vtdmaps[i];
sys/amd64/vmm/intel/vtd.c
430
vtd_translation_disable(vtdmap);
sys/amd64/vmm/intel/vtd.c
441
struct vtdmap *vtdmap;
sys/amd64/vmm/intel/vtd.c
457
if ((vtdmap = vtd_device_scope(rid)) == NULL)
sys/amd64/vmm/intel/vtd.c
467
if (VTD_ECAP_DI(vtdmap->ext_cap))
sys/amd64/vmm/intel/vtd.c
486
struct vtdmap *vtdmap;
sys/amd64/vmm/intel/vtd.c
506
vtdmap = vtdmaps[i];
sys/amd64/vmm/intel/vtd.c
507
vtd_ctx_global_invalidate(vtdmap);
sys/amd64/vmm/intel/vtd.c
508
vtd_iotlb_global_invalidate(vtdmap);
sys/amd64/vmm/intel/vtd.c
626
struct vtdmap *vtdmap;
sys/amd64/vmm/intel/vtd.c
633
vtdmap = vtdmaps[i];
sys/amd64/vmm/intel/vtd.c
634
vtd_iotlb_global_invalidate(vtdmap);
sys/amd64/vmm/intel/vtd.c
645
struct vtdmap *vtdmap;
sys/amd64/vmm/intel/vtd.c
677
vtdmap = vtdmaps[i];
sys/amd64/vmm/intel/vtd.c
679
tmp &= VTD_CAP_SAGAW(vtdmap->cap);
sys/amd64/vmm/intel/vtd.c
723
vtdmap = vtdmaps[i];
sys/amd64/vmm/intel/vtd.c
725
dom->spsmask &= VTD_CAP_SPS(vtdmap->cap);