Lines Matching +full:io +full:- +full:width

13 #include "intel-iommu.h"
20 * VT-d in QEMU currently only support 39 bits address width, which is
21 * 3-level translation.
67 uint16_t source_id:16; /* Source-ID */
68 uint64_t sid_q:2; /* Source-ID Qualifier */
69 uint64_t sid_vtype:2; /* Source-ID Validation Type */
101 /* One-shot bits are taking effect immediately */ in vtd_gcmd_or()
119 printf("VT-d version: %#x\n", version); in vtd_dump_init_info()
150 for (level = VTD_PAGE_LEVEL; level > level_target; level--) { in vtd_install_pte()
169 * vtd_map_range: setup IO address mapping for specific memory range
172 * @iova: start IO virtual address
193 if (!re->present) { in vtd_map_range()
196 re->context_table_p = virt_to_phys(ce) >> VTD_PAGE_SHIFT; in vtd_map_range()
197 re->present = 1; in vtd_map_range()
198 printf("allocated vt-d root entry for PCI bus %d\n", in vtd_map_range()
201 ce = phys_to_virt(re->context_table_p << VTD_PAGE_SHIFT); in vtd_map_range()
206 if (!ce->present) { in vtd_map_range()
210 ce->domain_id = sid; in vtd_map_range()
211 /* We only test 39 bits width case (3-level paging) */ in vtd_map_range()
212 ce->addr_width = VTD_CE_AW_39BIT; in vtd_map_range()
213 ce->slptptr = virt_to_phys(slptptr) >> VTD_PAGE_SHIFT; in vtd_map_range()
214 ce->trans_type = VTD_CONTEXT_TT_MULTI_LEVEL; in vtd_map_range()
215 ce->present = 1; in vtd_map_range()
217 ce->disable_fault_report = 1; in vtd_map_range()
218 printf("allocated vt-d context entry for devfn %#x\n", in vtd_map_range()
221 slptptr = phys_to_virt(ce->slptptr << VTD_PAGE_SHIFT); in vtd_map_range()
228 size -= VTD_PAGE_SIZE; in vtd_map_range()
250 irte->fault_disable = 1; in vtd_setup_irte()
251 irte->dest_mode = 0; /* physical */ in vtd_setup_irte()
252 irte->trigger_mode = trigger; in vtd_setup_irte()
253 irte->delivery_mode = 0; /* fixed */ in vtd_setup_irte()
254 irte->irte_mode = 0; /* remapped */ in vtd_setup_irte()
255 irte->vector = vector; in vtd_setup_irte()
256 irte->dest_id = dest_id; in vtd_setup_irte()
257 irte->source_id = dev->bdf; in vtd_setup_irte()
258 irte->sid_q = 0; in vtd_setup_irte()
259 irte->sid_vtype = 1; /* full-sid verify */ in vtd_setup_irte()
260 irte->present = 1; in vtd_setup_irte()
296 * vtd_setup_msi - setup MSI message for a device