Lines Matching +full:pci +full:- +full:domain

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
35 #include <dev/pci/pcivar.h>
36 #include <dev/pci/pcireg.h>
55 "Enable use of I/O MMU (required for PCI passthrough).");
65 return ((*ops->init)()); in IOMMU_INIT()
74 (*ops->cleanup)(); in IOMMU_CLEANUP()
82 return ((*ops->create_domain)(maxaddr)); in IOMMU_CREATE_DOMAIN()
92 (*ops->destroy_domain)(dom); in IOMMU_DESTROY_DOMAIN()
96 IOMMU_CREATE_MAPPING(void *domain, vm_paddr_t gpa, vm_paddr_t hpa, uint64_t len) in IOMMU_CREATE_MAPPING() argument
100 return ((*ops->create_mapping)(domain, gpa, hpa, len)); in IOMMU_CREATE_MAPPING()
106 IOMMU_REMOVE_MAPPING(void *domain, vm_paddr_t gpa, uint64_t len) in IOMMU_REMOVE_MAPPING() argument
110 return ((*ops->remove_mapping)(domain, gpa, len)); in IOMMU_REMOVE_MAPPING()
116 IOMMU_ADD_DEVICE(void *domain, uint16_t rid) in IOMMU_ADD_DEVICE() argument
120 (*ops->add_device)(domain, rid); in IOMMU_ADD_DEVICE()
124 IOMMU_REMOVE_DEVICE(void *domain, uint16_t rid) in IOMMU_REMOVE_DEVICE() argument
128 (*ops->remove_device)(domain, rid); in IOMMU_REMOVE_DEVICE()
132 IOMMU_INVALIDATE_TLB(void *domain) in IOMMU_INVALIDATE_TLB() argument
136 (*ops->invalidate_tlb)(domain); in IOMMU_INVALIDATE_TLB()
144 (*ops->enable)(); in IOMMU_ENABLE()
152 (*ops->disable)(); in IOMMU_DISABLE()
159 /* Add new devices to the host domain. */ in iommu_pci_add()
195 * Create a domain for the devices owned by the host in iommu_init()
200 printf("iommu_init: unable to create a host domain"); in iommu_init()
231 * domain. in iommu_init()
294 remaining -= mapped; in iommu_create_mapping()
308 remaining -= unmapped; in iommu_remove_mapping()
334 iommu_invalidate_tlb(void *domain) in iommu_invalidate_tlb() argument
337 IOMMU_INVALIDATE_TLB(domain); in iommu_invalidate_tlb()