Home
last modified time | relevance | path

Searched refs:dmar_unit (Results 1 – 9 of 9) sorted by relevance

/freebsd/sys/x86/iommu/
H A Dintel_dmar.h36 struct dmar_unit;
66 struct dmar_unit *dmar; /* (c) */
89 __containerof((dmar), struct dmar_unit, iommu)
107 struct dmar_unit { struct
169 struct dmar_unit *dmar_find(device_t dev, bool verbose); argument
170 struct dmar_unit *dmar_find_hpet(device_t dev, uint16_t *rid);
171 struct dmar_unit *dmar_find_ioapic(u_int apic_id, uint16_t *rid);
174 bool dmar_pglvl_supported(struct dmar_unit *unit, int pglvl);
176 int dmar_maxaddr2mgaw(struct dmar_unit *unit, iommu_gaddr_t maxaddr,
180 int calc_am(struct dmar_unit *unit, iommu_gaddr_t base, iommu_gaddr_t size,
[all …]
H A Dintel_qi.c62 dmar_enable_qi(struct dmar_unit *unit) in dmar_enable_qi()
75 dmar_disable_qi(struct dmar_unit *unit) in dmar_disable_qi()
90 struct dmar_unit *unit; in dmar_qi_advance_tail()
100 struct dmar_unit *unit; in dmar_qi_ensure()
138 dmar_qi_emit(struct dmar_unit *unit, uint64_t data1, uint64_t data2) in dmar_qi_emit()
172 struct dmar_unit *unit; in dmar_qi_emit_wait_descr()
188 struct dmar_unit *unit; in dmar_qi_invalidate_emit()
209 dmar_qi_invalidate_glob_impl(struct dmar_unit *unit, uint64_t data1) in dmar_qi_invalidate_glob_impl()
224 dmar_qi_invalidate_ctx_glob_locked(struct dmar_unit *unit) in dmar_qi_invalidate_ctx_glob_locked()
231 dmar_qi_invalidate_iotlb_glob_locked(struct dmar_unit *unit) in dmar_qi_invalidate_iotlb_glob_locked()
[all …]
H A Dintel_utils.c111 dmar_pglvl_supported(struct dmar_unit *unit, int pglvl) in dmar_pglvl_supported()
153 dmar_maxaddr2mgaw(struct dmar_unit *unit, iommu_gaddr_t maxaddr, bool allow_less) in dmar_maxaddr2mgaw()
203 calc_am(struct dmar_unit *unit, iommu_gaddr_t base, iommu_gaddr_t size, in calc_am()
224 dmar_flush_transl_to_ram(struct dmar_unit *unit, void *dst, size_t sz) in dmar_flush_transl_to_ram()
237 dmar_flush_pte_to_ram(struct dmar_unit *unit, iommu_pte_t *dst) in dmar_flush_pte_to_ram()
244 dmar_flush_ctx_to_ram(struct dmar_unit *unit, dmar_ctx_entry_t *dst) in dmar_flush_ctx_to_ram()
251 dmar_flush_root_to_ram(struct dmar_unit *unit, dmar_root_entry_t *dst) in dmar_flush_root_to_ram()
262 dmar_load_root_entry_ptr(struct dmar_unit *unit) in dmar_load_root_entry_ptr()
288 dmar_inv_ctx_glob(struct dmar_unit *unit) in dmar_inv_ctx_glob()
315 dmar_inv_iotlb_glob(struct dmar_unit *unit) in dmar_inv_iotlb_glob()
[all …]
H A Dintel_intrmap.c62 static struct dmar_unit *dmar_ir_find(device_t src, uint16_t *rid,
64 static void dmar_ir_program_irte(struct dmar_unit *unit, u_int idx,
66 static int dmar_ir_free_irte(struct dmar_unit *unit, u_int cookie);
71 struct dmar_unit *unit; in dmar_alloc_msi_intr()
100 struct dmar_unit *unit; in dmar_map_msi_intr()
145 struct dmar_unit *unit; in dmar_unmap_msi_intr()
157 struct dmar_unit *unit; in dmar_map_ioapic_intr()
219 struct dmar_unit *unit; in dmar_unmap_ioapic_intr()
232 static struct dmar_unit *
236 struct dmar_unit *unit; in dmar_ir_find()
[all …]
H A Dintel_quirks.c64 typedef void (*dmar_quirk_cpu_fun)(struct dmar_unit *);
76 typedef void (*dmar_quirk_nb_fun)(struct dmar_unit *, device_t nb);
88 dmar_match_quirks(struct dmar_unit *dmar, in dmar_match_quirks()
150 nb_5400_no_low_high_prot_mem(struct dmar_unit *unit, device_t nb __unused) in nb_5400_no_low_high_prot_mem()
157 nb_no_ir(struct dmar_unit *unit, device_t nb __unused) in nb_no_ir()
164 nb_5500_no_ir_rev13(struct dmar_unit *unit, device_t nb) in nb_5500_no_ir_rev13()
207 cpu_e5_am9(struct dmar_unit *unit) in cpu_e5_am9()
225 struct dmar_unit *dmar; in dmar_quirks_pre_use()
238 dmar_quirks_post_ident(struct dmar_unit *dmar) in dmar_quirks_post_ident()
H A Dintel_fault.c80 dmar_fault_next(struct dmar_unit *unit, int faultp) in dmar_fault_next()
90 dmar_fault_intr_clear(struct dmar_unit *unit, uint32_t fsts) in dmar_fault_intr_clear()
124 struct dmar_unit *unit; in dmar_fault_intr()
190 struct dmar_unit *unit; in dmar_fault_task()
244 dmar_clear_faults(struct dmar_unit *unit) in dmar_clear_faults()
261 dmar_init_fault_log(struct dmar_unit *unit) in dmar_init_fault_log()
288 dmar_fini_fault_log(struct dmar_unit *unit) in dmar_fini_fault_log()
311 struct dmar_unit *unit; in dmar_enable_fault_intr()
324 struct dmar_unit *unit; in dmar_disable_fault_intr()
H A Dintel_ctx.c74 static void dmar_unref_domain_locked(struct dmar_unit *dmar,
78 static void dmar_free_ctx_locked(struct dmar_unit *dmar, struct dmar_ctx *ctx);
81 dmar_ensure_ctx_page(struct dmar_unit *dmar, int bus) in dmar_ensure_ctx_page()
115 struct dmar_unit *dmar; in dmar_map_ctx_entry()
154 struct dmar_unit *unit; in ctx_id_entry_init()
189 dmar_flush_for_ctx_entry(struct dmar_unit *dmar, bool force) in dmar_flush_for_ctx_entry()
363 dmar_domain_alloc(struct dmar_unit *dmar, bool id_mapped) in dmar_domain_alloc()
472 struct dmar_unit *dmar; in dmar_domain_destroy()
501 dmar_get_ctx_for_dev1(struct dmar_unit *dmar, device_t dev, uint16_t rid, in dmar_get_ctx_for_dev1()
641 dmar_get_ctx_for_dev(struct dmar_unit *dmar, device_t dev, uint16_t rid, in dmar_get_ctx_for_dev()
[all …]
H A Dintel_drv.c265 dmar_release_resources(device_t dev, struct dmar_unit *unit) in dmar_release_resources()
297 struct dmar_unit *unit; in dmar_remap_intr()
330 dmar_print_caps(device_t dev, struct dmar_unit *unit, in dmar_print_caps()
362 struct dmar_unit *unit; in dmar_attach()
583 sizeof(struct dmar_unit),
702 dmar_match_by_path(struct dmar_unit *unit, int dev_domain, int dev_busno, in dmar_match_by_path()
738 static struct dmar_unit *
742 struct dmar_unit *unit; in dmar_find_by_scope()
756 struct dmar_unit *
759 struct dmar_unit *unit; in dmar_find()
[all …]
H A Dintel_idpgtbl.c168 struct dmar_unit *unit; in dmar_get_idmap_pgtbl()
476 struct dmar_unit *unit; in dmar_map_buf()
683 struct dmar_unit *unit; in dmar_domain_alloc_pgtbl()
740 dmar_wait_iotlb_flush(struct dmar_unit *unit, uint64_t wt, int iro) in dmar_wait_iotlb_flush()
759 struct dmar_unit *unit; in dmar_flush_iotlb_sync()