Home
last modified time | relevance | path

Searched refs:dmar (Results 1 – 11 of 11) sorted by relevance

/freebsd-14.2/sys/x86/iommu/
H A Dintel_ctx.c382 domain->dmar = dmar; in dmar_domain_alloc()
527 DMAR_LOCK(dmar); in dmar_get_ctx_for_dev1()
559 DMAR_LOCK(dmar); in dmar_get_ctx_for_dev1()
586 dmar->iommu.unit, dmar->segment, bus, slot, in dmar_get_ctx_for_dev1()
637 DMAR_UNLOCK(dmar); in dmar_get_ctx_for_dev1()
676 dmar = domain->dmar; in dmar_move_ctx_to_domain()
687 DMAR_LOCK(dmar); in dmar_move_ctx_to_domain()
726 DMAR_UNLOCK(dmar); in dmar_unref_domain_locked()
762 DMAR_UNLOCK(dmar); in dmar_free_ctx_locked()
765 DMAR_LOCK(dmar); in dmar_free_ctx_locked()
[all …]
H A Dintel_dmar.h87 #define DMAR2IOMMU(dmar) (&((dmar)->iommu)) argument
88 #define IOMMU2DMAR(dmar) \ argument
150 #define DMAR_LOCK(dmar) mtx_lock(&DMAR2IOMMU(dmar)->lock) argument
151 #define DMAR_UNLOCK(dmar) mtx_unlock(&DMAR2IOMMU(dmar)->lock) argument
152 #define DMAR_ASSERT_LOCKED(dmar) mtx_assert(&DMAR2IOMMU(dmar)->lock, MA_OWNED) argument
154 #define DMAR_FAULT_LOCK(dmar) mtx_lock_spin(&(dmar)->fault_lock) argument
155 #define DMAR_FAULT_UNLOCK(dmar) mtx_unlock_spin(&(dmar)->fault_lock) argument
156 #define DMAR_FAULT_ASSERT_LOCKED(dmar) mtx_assert(&(dmar)->fault_lock, MA_OWNED) argument
158 #define DMAR_IS_COHERENT(dmar) (((dmar)->hw_ecap & DMAR_ECAP_C) != 0) argument
159 #define DMAR_HAS_QI(dmar) (((dmar)->hw_ecap & DMAR_ECAP_QI) != 0) argument
[all …]
H A Dintel_utils.c472 DMAR_LOCK(dmar); in dmar_barrier_enter()
474 DMAR_UNLOCK(dmar); in dmar_barrier_enter()
480 dmar->barrier_flags |= f_wakeup; in dmar_barrier_enter()
481 msleep(&dmar->barrier_flags, &dmar->iommu.lock, 0, in dmar_barrier_enter()
487 DMAR_UNLOCK(dmar); in dmar_barrier_enter()
491 dmar->barrier_flags |= f_inproc; in dmar_barrier_enter()
492 DMAR_UNLOCK(dmar); in dmar_barrier_enter()
501 DMAR_ASSERT_LOCKED(dmar); in dmar_barrier_exit()
504 dmar->barrier_flags |= f_done; in dmar_barrier_exit()
506 wakeup(&dmar->barrier_flags); in dmar_barrier_exit()
[all …]
H A Dintel_quirks.c89 dmar_match_quirks(struct dmar_unit *dmar, in dmar_match_quirks() argument
112 device_printf(dmar->iommu.dev, in dmar_match_quirks()
116 nb_quirk->quirk(dmar, nb); in dmar_match_quirks()
120 device_printf(dmar->iommu.dev, in dmar_match_quirks()
140 device_printf(dmar->iommu.dev, in dmar_match_quirks()
144 cpu_quirk->quirk(dmar); in dmar_match_quirks()
226 struct dmar_unit *dmar; in dmar_quirks_pre_use() local
228 dmar = IOMMU2DMAR(unit); in dmar_quirks_pre_use()
232 DMAR_LOCK(dmar); in dmar_quirks_pre_use()
235 dmar_barrier_exit(dmar, DMAR_BARRIER_USEQ); in dmar_quirks_pre_use()
[all …]
H A Dintel_drv.c957 struct dmar_unit *dmar; member
1062 struct dmar_unit *dmar; in dmar_instantiate_rmrr_ctxs() local
1066 dmar = IOMMU2DMAR(unit); in dmar_instantiate_rmrr_ctxs()
1072 iria.dmar = dmar; in dmar_instantiate_rmrr_ctxs()
1074 DMAR_LOCK(dmar); in dmar_instantiate_rmrr_ctxs()
1078 dmar->iommu.unit)); in dmar_instantiate_rmrr_ctxs()
1082 dmar->iommu.unit); in dmar_instantiate_rmrr_ctxs()
1291 struct dmar_unit *dmar; in dmar_find_method() local
1294 return (&dmar->iommu); in dmar_find_method()
1300 struct dmar_unit *dmar; in dmar_get_x86_common() local
[all …]
H A Dintel_idpgtbl.c198 dmar_pglvl_supported(domain->dmar, tbl->pglvl) && in dmar_get_idmap_pgtbl()
217 dmar_pglvl_supported(domain->dmar, tbl->pglvl) && in dmar_get_idmap_pgtbl()
262 unit = domain->dmar; in dmar_get_idmap_pgtbl()
382 dmar_flush_pte_to_ram(domain->dmar, ptep); in dmar_pgtbl_map_pte()
463 dmar_flush_pte_to_ram(domain->dmar, pte); in dmar_map_buf_locked()
491 unit = domain->dmar; in dmar_map_buf()
571 dmar_flush_pte_to_ram(domain->dmar, pte); in dmar_unmap_clear_pte()
689 unit = domain->dmar; in dmar_domain_alloc_pgtbl()
716 KASSERT((domain->dmar->hw_ecap & DMAR_ECAP_PT) != 0 && in dmar_domain_free_pgtbl()
765 unit = domain->dmar; in dmar_flush_iotlb_sync()
H A Dintel_qi.c194 unit = domain->dmar; in dmar_qi_invalidate_emit()
H A Diommu_utils.c190 SYSCTL_NODE(_hw_iommu, OID_AUTO, dmar, CTLFLAG_RD | CTLFLAG_MPSAFE,
/freebsd-14.2/sys/amd64/vmm/intel/
H A Dvtd.c311 ACPI_TABLE_DMAR *dmar; in vtd_init() local
335 status = AcpiGetTable(ACPI_SIG_DMAR, 0, (ACPI_TABLE_HEADER **)&dmar); in vtd_init()
339 end = (char *)dmar + dmar->Header.Length; in vtd_init()
340 remaining = dmar->Header.Length - sizeof(ACPI_TABLE_DMAR); in vtd_init()
/freebsd-14.2/tools/tools/dmardump/
H A Ddmardump.c226 ACPI_TABLE_DMAR *dmar; in acpi_handle_dmar() local
228 dmar = (ACPI_TABLE_DMAR *)sdp; in acpi_handle_dmar()
/freebsd-14.2/usr.sbin/acpi/acpidump/
H A Dacpi.c1477 ACPI_TABLE_DMAR *dmar; in acpi_handle_dmar() local
1481 dmar = (ACPI_TABLE_DMAR *)sdp; in acpi_handle_dmar()
1482 printf("\tHost Address Width=%d\n", dmar->Width + 1); in acpi_handle_dmar()
1487 PRINTFLAG(dmar->Flags, INTR_REMAP); in acpi_handle_dmar()
1488 PRINTFLAG(dmar->Flags, X2APIC_OPT_OUT); in acpi_handle_dmar()