Searched refs:dmar (Results 1 - 10 of 10) sorted by relevance

/freebsd-13-stable/sys/x86/iommu/
H A Dintel_ctx.c77 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 Dintel_dmar.h50 * 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 Dintel_quirks.c91 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 Dintel_utils.c128 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 Dintel_drv.c173 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 Dintel_idpgtbl.c197 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 Dintel_qi.c231 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 Ddmardump.c228 ACPI_TABLE_DMAR *dmar; local
230 dmar = (ACPI_TABLE_DMAR *)sdp;
/freebsd-13-stable/sys/amd64/vmm/intel/
H A Dvtd.c315 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 Dacpi.c1453 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);

Completed in 184 milliseconds