/freebsd-13-stable/sys/x86/iommu/ |
H A D | intel_ctx.c | 77 static void dmar_unref_domain_locked(struct dmar_unit *dmar, 82 dmar_ensure_ctx_page(struct dmar_unit *dmar, int bus) argument 91 ctxm = dmar_pgalloc(dmar->ctx_obj, 1 + bus, IOMMU_PGF_NOALLOC); 102 ctxm = dmar_pgalloc(dmar->ctx_obj, 1 + bus, IOMMU_PGF_ZERO | 104 re = dmar_map_pgtbl(dmar->ctx_obj, 0, IOMMU_PGF_NOALLOC, &sf); 108 dmar_flush_root_to_ram(dmar, re); 116 struct dmar_unit *dmar; local 119 dmar = CTX2DMAR(ctx); 121 ctxp = dmar_map_pgtbl(dmar->ctx_obj, 1 + PCI_RID2BUS(ctx->context.rid), 183 ("dmar 210 dmar_flush_for_ctx_entry(struct dmar_unit *dmar, bool force) argument 381 dmar_domain_alloc(struct dmar_unit *dmar, bool id_mapped) argument 490 struct dmar_unit *dmar; local 519 dmar_get_ctx_for_dev1(struct dmar_unit *dmar, device_t dev, uint16_t rid, int dev_domain, int dev_busno, const void *dev_path, int dev_path_len, bool id_mapped, bool rmrr_init) argument 655 dmar_get_ctx_for_dev(struct dmar_unit *dmar, device_t dev, uint16_t rid, bool id_mapped, bool rmrr_init) argument 669 dmar_get_ctx_for_devpath(struct dmar_unit *dmar, uint16_t rid, int dev_domain, int dev_busno, const void *dev_path, int dev_path_len, bool id_mapped, bool rmrr_init) argument 682 struct dmar_unit *dmar; local 717 dmar_unref_domain_locked(struct dmar_unit *dmar, struct dmar_domain *domain) argument 746 dmar_free_ctx_locked(struct dmar_unit *dmar, struct dmar_ctx *ctx) argument 822 struct dmar_unit *dmar; local 833 dmar_find_ctx_locked(struct dmar_unit *dmar, uint16_t rid) argument 944 struct dmar_unit *dmar; local 957 struct dmar_unit *dmar; local [all...] |
H A D | intel_dmar.h | 50 * are protected by owning dmar unit lock, not by the domain lock. 51 * Most important, the dmar lock protects the contexts list. 69 struct dmar_unit *dmar; /* (c) */ member in struct:dmar_domain 70 LIST_ENTRY(dmar_domain) link; /* (u) Member in the dmar list */ 93 #define DMAR2IOMMU(dmar) &((dmar)->iommu) 94 #define IOMMU2DMAR(dmar) \ 95 __containerof((dmar), struct dmar_unit, iommu) 106 #define CTX2DMAR(ctx) (CTX2DOM(ctx)->dmar) 107 #define DOM2DMAR(domain) ((domain)->dmar) [all...] |
H A D | intel_quirks.c | 91 dmar_match_quirks(struct dmar_unit *dmar, argument 114 device_printf(dmar->dev, 118 nb_quirk->quirk(dmar, nb); 122 device_printf(dmar->dev, "cannot find northbridge\n"); 141 device_printf(dmar->dev, 145 cpu_quirk->quirk(dmar); 227 struct dmar_unit *dmar; local 229 dmar = IOMMU2DMAR(unit); 231 if (!dmar_barrier_enter(dmar, DMAR_BARRIER_USEQ)) 233 DMAR_LOCK(dmar); 240 dmar_quirks_post_ident(struct dmar_unit *dmar) argument [all...] |
H A D | intel_utils.c | 128 sagaw = DMAR_CAP_SAGAW(domain->dmar->hw_cap); 137 device_printf(domain->dmar->dev, 206 cap_sps = DMAR_CAP_SPS(domain->dmar->hw_cap); 485 ("dmar%d: no RWBF", unit->iommu.unit)); 576 dmar_barrier_enter(struct dmar_unit *dmar, u_int barrier_id) argument 580 DMAR_LOCK(dmar); 581 if ((dmar->barrier_flags & f_done) != 0) { 582 DMAR_UNLOCK(dmar); 586 if ((dmar->barrier_flags & f_inproc) != 0) { 587 while ((dmar 605 dmar_barrier_exit(struct dmar_unit *dmar, u_int barrier_id) argument [all...] |
H A D | intel_drv.c | 173 if (acpi_disabled("dmar")) 175 TUNABLE_INT_FETCH("hw.dmar.enable", &dmar_enable); 204 dmar_devs[i] = BUS_ADD_CHILD(parent, 1, "dmar", i); 213 "dmar%d: unable to alloc register window at 0x%08jx: error %d\n", 435 TUNABLE_UINT64_FETCH("hw.dmar.timeout", &timeout); 588 "dmar", 593 DRIVER_MODULE(dmar, acpi, dmar_driver, dmar_devclass, 0, 0); 594 MODULE_DEPEND(dmar, acpi, 1, 1, 1); 797 device_printf(dev, "pci%d:%d:%d:%d matched dmar%d by %s", 952 struct dmar_unit *dmar; member in struct:inst_rmrr_iter_args 1054 struct dmar_unit *dmar; local 1334 struct dmar_unit *dmar; local [all...] |
H A D | intel_idpgtbl.c | 197 dmar_pglvl_supported(domain->dmar, tbl->pglvl) && 216 dmar_pglvl_supported(domain->dmar, tbl->pglvl) && 257 unit = domain->dmar; 411 dmar_flush_pte_to_ram(domain->dmar, ptep); 492 dmar_flush_pte_to_ram(domain->dmar, pte); 516 unit = domain->dmar; 544 ("PTE_SNP for dmar without snoop control %p %jx", 548 ("PTE_TM for dmar without DIOTLB %p %jx", 593 dmar_flush_pte_to_ram(domain->dmar, pte); 718 DMAR_LOCK(domain->dmar); [all...] |
H A D | intel_qi.c | 231 unit = domain->dmar; 319 * since we own the dmar unit lock until whole invalidation 332 KASSERT(unit->qi_enabled, ("dmar%d: QI is not enabled", 380 TUNABLE_INT_FETCH("hw.dmar.qi", &unit->qi_enabled); 389 "dmar%d qi taskq", unit->iommu.unit); 395 TUNABLE_INT_FETCH("hw.dmar.qi_size", &qi_sz); 446 ("dmar%d: waiters on disabled queue", unit->iommu.unit)); 461 KASSERT(DMAR_HAS_QI(unit), ("dmar%d: QI is not supported", 474 KASSERT(DMAR_HAS_QI(unit), ("dmar%d: QI is not supported",
|
/freebsd-13-stable/tools/tools/dmardump/ |
H A D | dmardump.c | 228 ACPI_TABLE_DMAR *dmar; local 230 dmar = (ACPI_TABLE_DMAR *)sdp;
|
/freebsd-13-stable/sys/amd64/vmm/intel/ |
H A D | vtd.c | 315 ACPI_TABLE_DMAR *dmar; local 339 status = AcpiGetTable(ACPI_SIG_DMAR, 0, (ACPI_TABLE_HEADER **)&dmar); 343 end = (char *)dmar + dmar->Header.Length; 344 remaining = dmar->Header.Length - sizeof(ACPI_TABLE_DMAR);
|
/freebsd-13-stable/usr.sbin/acpi/acpidump/ |
H A D | acpi.c | 1453 ACPI_TABLE_DMAR *dmar; local 1457 dmar = (ACPI_TABLE_DMAR *)sdp; 1458 printf("\tHost Address Width=%d\n", dmar->Width + 1); 1463 PRINTFLAG(dmar->Flags, INTR_REMAP); 1464 PRINTFLAG(dmar->Flags, X2APIC_OPT_OUT);
|