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

Lines Matching defs:dmar_unit

39 struct dmar_unit;
69 struct dmar_unit *dmar; /* (c) */
95 __containerof((dmar), struct dmar_unit, iommu)
118 void (*enable_intr)(struct dmar_unit *);
119 void (*disable_intr)(struct dmar_unit *);
127 struct dmar_unit {
204 struct dmar_unit *dmar_find(device_t dev, bool verbose);
205 struct dmar_unit *dmar_find_hpet(device_t dev, uint16_t *rid);
206 struct dmar_unit *dmar_find_ioapic(u_int apic_id, uint16_t *rid);
209 bool dmar_pglvl_supported(struct dmar_unit *unit, int pglvl);
211 int dmar_maxaddr2mgaw(struct dmar_unit *unit, iommu_gaddr_t maxaddr,
217 int calc_am(struct dmar_unit *unit, iommu_gaddr_t base, iommu_gaddr_t size,
224 int dmar_load_root_entry_ptr(struct dmar_unit *unit);
225 int dmar_inv_ctx_glob(struct dmar_unit *unit);
226 int dmar_inv_iotlb_glob(struct dmar_unit *unit);
227 int dmar_flush_write_bufs(struct dmar_unit *unit);
228 void dmar_flush_pte_to_ram(struct dmar_unit *unit, dmar_pte_t *dst);
229 void dmar_flush_ctx_to_ram(struct dmar_unit *unit, dmar_ctx_entry_t *dst);
230 void dmar_flush_root_to_ram(struct dmar_unit *unit, dmar_root_entry_t *dst);
231 int dmar_enable_translation(struct dmar_unit *unit);
232 int dmar_disable_translation(struct dmar_unit *unit);
233 int dmar_load_irt_ptr(struct dmar_unit *unit);
234 int dmar_enable_ir(struct dmar_unit *unit);
235 int dmar_disable_ir(struct dmar_unit *unit);
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);
242 void dmar_enable_fault_intr(struct dmar_unit *unit);
243 void dmar_disable_fault_intr(struct dmar_unit *unit);
244 int dmar_init_fault_log(struct dmar_unit *unit);
245 void dmar_fini_fault_log(struct dmar_unit *unit);
248 void dmar_enable_qi_intr(struct dmar_unit *unit);
249 void dmar_disable_qi_intr(struct dmar_unit *unit);
250 int dmar_init_qi(struct dmar_unit *unit);
251 void dmar_fini_qi(struct dmar_unit *unit);
254 void dmar_qi_invalidate_ctx_glob_locked(struct dmar_unit *unit);
255 void dmar_qi_invalidate_iotlb_glob_locked(struct dmar_unit *unit);
256 void dmar_qi_invalidate_iec_glob(struct dmar_unit *unit);
257 void dmar_qi_invalidate_iec(struct dmar_unit *unit, u_int start, u_int cnt);
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);
290 void dmar_quirks_post_ident(struct dmar_unit *dmar);
293 int dmar_init_irt(struct dmar_unit *unit);
294 void dmar_fini_irt(struct dmar_unit *unit);
302 dmar_read4(const struct dmar_unit *unit, int reg)
309 dmar_read8(const struct dmar_unit *unit, int reg)
323 dmar_write4(const struct dmar_unit *unit, int reg, uint32_t val)
334 dmar_write8(const struct dmar_unit *unit, int reg, uint64_t val)