Home
last modified time | relevance | path

Searched refs:iommu (Results 1 – 12 of 12) sorted by relevance

/illumos-gate/usr/src/uts/i86pc/io/amd_iommu/
H A Damd_iommu_impl.c40 static int amd_iommu_fini(amd_iommu_t *iommu, int type);
41 static void amd_iommu_teardown_interrupts(amd_iommu_t *iommu);
42 static void amd_iommu_stop(amd_iommu_t *iommu);
69 static int unmap_current_window(amd_iommu_t *iommu, dev_info_t *rdip,
115 amd_iommu_register(amd_iommu_t *iommu) in amd_iommu_register() argument
117 dev_info_t *dip = iommu->aiomt_dip; in amd_iommu_register()
128 iommulib_ops->ilops_data = (void *)iommu; in amd_iommu_register()
129 iommu->aiomt_iommulib_ops = iommulib_ops; in amd_iommu_register()
134 "failed idx=%d", f, driver, instance, iommu->aiomt_idx); in amd_iommu_register()
139 iommu->aiomt_iommulib_handle = handle; in amd_iommu_register()
[all …]
H A Damd_iommu_cmd.c34 amd_iommu_wait_for_completion(amd_iommu_t *iommu) in amd_iommu_wait_for_completion() argument
36 ASSERT(MUTEX_HELD(&iommu->aiomt_cmdlock)); in amd_iommu_wait_for_completion()
38 iommu->aiomt_reg_status_va), AMD_IOMMU_COMWAIT_INT) != 1) { in amd_iommu_wait_for_completion()
39 AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va), in amd_iommu_wait_for_completion()
46 create_compl_wait_cmd(amd_iommu_t *iommu, amd_iommu_cmdargs_t *cmdargsp, in create_compl_wait_cmd() argument
49 const char *driver = ddi_driver_name(iommu->aiomt_dip); in create_compl_wait_cmd()
50 int instance = ddi_get_instance(iommu->aiomt_dip); in create_compl_wait_cmd()
58 f, driver, instance, iommu->aiomt_idx); in create_compl_wait_cmd()
78 create_inval_devtab_entry_cmd(amd_iommu_t *iommu, amd_iommu_cmdargs_t *cmdargsp, in create_inval_devtab_entry_cmd() argument
81 const char *driver = ddi_driver_name(iommu->aiomt_dip); in create_inval_devtab_entry_cmd()
[all …]
H A Damd_iommu_log.c116 devtab_illegal_entry(amd_iommu_t *iommu, uint32_t *event) in devtab_illegal_entry() argument
125 const char *driver = ddi_driver_name(iommu->aiomt_dip); in devtab_illegal_entry()
126 int instance = ddi_get_instance(iommu->aiomt_dip); in devtab_illegal_entry()
155 f, driver, instance, iommu->aiomt_idx, in devtab_illegal_entry()
165 io_page_fault(amd_iommu_t *iommu, uint32_t *event) in io_page_fault() argument
177 const char *driver = ddi_driver_name(iommu->aiomt_dip); in io_page_fault()
178 int instance = ddi_get_instance(iommu->aiomt_dip); in io_page_fault()
209 f, driver, instance, iommu->aiomt_idx, in io_page_fault()
223 devtab_hw_error(amd_iommu_t *iommu, uint32_t *event) in devtab_hw_error() argument
233 const char *driver = ddi_driver_name(iommu->aiomt_dip); in devtab_hw_error()
[all …]
H A Damd_iommu_page_tables.c64 amd_iommu_get_src_bdf(amd_iommu_t *iommu, int32_t bdf, int32_t *src_bdfp) in amd_iommu_get_src_bdf() argument
87 amd_iommu_get_domain(amd_iommu_t *iommu, dev_info_t *rdip, int alias, in amd_iommu_get_domain() argument
124 amd_iommu_init_page_tables(amd_iommu_t *iommu) in amd_iommu_init_page_tables() argument
132 amd_iommu_fini_page_tables(amd_iommu_t *iommu) in amd_iommu_fini_page_tables() argument
142 amd_iommu_lookup_domain(amd_iommu_t *iommu, domain_id_t domainid, in amd_iommu_lookup_domain() argument
170 iommu->aiomt_idx, domainid); in amd_iommu_lookup_domain()
196 amd_iommu_teardown_domain(amd_iommu_t *iommu, amd_iommu_domain_t *dp) in amd_iommu_teardown_domain() argument
228 if (amd_iommu_cmd(iommu, AMD_IOMMU_CMD_INVAL_IOMMU_PAGES, in amd_iommu_teardown_domain()
232 f, iommu->aiomt_idx, cmdargs.ca_domainid); in amd_iommu_teardown_domain()
237 amd_iommu_get_deviceid(amd_iommu_t *iommu, dev_info_t *rdip, int32_t *deviceid, in amd_iommu_get_deviceid() argument
[all …]
H A Damd_iommu_page_tables.h118 int amd_iommu_map_pa2va(amd_iommu_t *iommu, dev_info_t *rdip,
122 int amd_iommu_unmap_va(amd_iommu_t *iommu, dev_info_t *rdip,
124 void amd_iommu_init_page_tables(amd_iommu_t *iommu);
125 void amd_iommu_fini_page_tables(amd_iommu_t *iommu);
126 void amd_iommu_set_passthru(amd_iommu_t *iommu, dev_info_t *rdip);
H A Damd_iommu_acpi.c801 set_deventry(amd_iommu_t *iommu, int entry, amd_iommu_acpi_ivhd_t *hinfop) in set_deventry() argument
806 &iommu->aiomt_devtbl[entry * AMD_IOMMU_DEVTBL_ENTRY_SZ]; in set_deventry()
814 amd_iommu_acpi_init_devtbl(amd_iommu_t *iommu) in amd_iommu_acpi_init_devtbl() argument
823 if (hinfop->ach_IOMMU_deviceid != iommu->aiomt_bdf) in amd_iommu_acpi_init_devtbl()
829 set_deventry(iommu, j, hinfop); in amd_iommu_acpi_init_devtbl()
833 set_deventry(iommu, in amd_iommu_acpi_init_devtbl()
842 set_deventry(iommu, j, hinfop); in amd_iommu_acpi_init_devtbl()
847 set_deventry(iommu, in amd_iommu_acpi_init_devtbl()
904 amd_iommu_lookup_any_ivhd(amd_iommu_t *iommu) in amd_iommu_lookup_any_ivhd() argument
912 hinfop->ach_IOMMU_deviceid == iommu->aiomt_bdf) in amd_iommu_lookup_any_ivhd()
H A Damd_iommu.conf27 amd-iommu="no";
H A Damd_iommu_impl.h480 int amd_iommu_cmd(amd_iommu_t *iommu, amd_iommu_cmd_t cmd,
485 int amd_iommu_read_log(amd_iommu_t *iommu, amd_iommu_log_op_t op);
H A Damd_iommu_acpi.h302 int amd_iommu_acpi_init_devtbl(amd_iommu_t *iommu);
/illumos-gate/usr/src/uts/sun4u/sys/pci/
H A Dpci_iommu.h124 typedef struct iommu iommu_t;
125 struct iommu { struct
/illumos-gate/usr/src/uts/intel/io/vmm/
H A DMakefile.vmm58 iommu.o \
H A Dvmm.c196 void *iommu; /* (x) iommu-specific data */ member
534 vm->iommu = NULL; in vm_init()
672 if (vm->iommu != NULL) in vm_cleanup()
673 iommu_destroy_domain(vm->iommu); in vm_cleanup()
1128 iommu_create_mapping(vm->iommu, gpa, hpa, sz); in vm_iommu_modify()
1130 iommu_remove_mapping(vm->iommu, gpa, sz); in vm_iommu_modify()
1142 iommu_invalidate_tlb(vm->iommu); in vm_iommu_modify()
1168 KASSERT(vm->iommu == NULL, in vm_assign_pptdev()
1171 vm->iommu = iommu_create_domain(maxaddr); in vm_assign_pptdev()
1172 if (vm->iommu == NULL) in vm_assign_pptdev()
[all …]