• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/x86/iommu/

Lines Matching refs:dmar

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) */
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)
145 /* Data for being a dmar */
187 #define DMAR_LOCK(dmar) mtx_lock(&(dmar)->iommu.lock)
188 #define DMAR_UNLOCK(dmar) mtx_unlock(&(dmar)->iommu.lock)
189 #define DMAR_ASSERT_LOCKED(dmar) mtx_assert(&(dmar)->iommu.lock, MA_OWNED)
191 #define DMAR_FAULT_LOCK(dmar) mtx_lock_spin(&(dmar)->fault_lock)
192 #define DMAR_FAULT_UNLOCK(dmar) mtx_unlock_spin(&(dmar)->fault_lock)
193 #define DMAR_FAULT_ASSERT_LOCKED(dmar) mtx_assert(&(dmar)->fault_lock, MA_OWNED)
195 #define DMAR_IS_COHERENT(dmar) (((dmar)->hw_ecap & DMAR_ECAP_C) != 0)
196 #define DMAR_HAS_QI(dmar) (((dmar)->hw_ecap & DMAR_ECAP_QI) != 0)
197 #define DMAR_X2APIC(dmar) \
198 (x2apic_mode && ((dmar)->hw_ecap & DMAR_ECAP_EIM) != 0)
236 bool dmar_barrier_enter(struct dmar_unit *dmar, u_int barrier_id);
237 void dmar_barrier_exit(struct dmar_unit *dmar, u_int barrier_id);
271 struct dmar_ctx *dmar_get_ctx_for_dev(struct dmar_unit *dmar, device_t dev,
273 struct dmar_ctx *dmar_get_ctx_for_devpath(struct dmar_unit *dmar, uint16_t rid,
277 void dmar_free_ctx_locked(struct dmar_unit *dmar, struct dmar_ctx *ctx);
279 struct dmar_ctx *dmar_find_ctx_locked(struct dmar_unit *dmar, uint16_t rid);
288 int dmar_instantiate_rmrr_ctxs(struct iommu_unit *dmar);
290 void dmar_quirks_post_ident(struct dmar_unit *dmar);
291 void dmar_quirks_pre_use(struct iommu_unit *dmar);
328 ("dmar%d clearing TE 0x%08x 0x%08x", unit->iommu.unit,