[[!template id=project title="Add IOMMU support in x86 native ports" contact=""" [port-amd64](mailto:port-amd64@NetBSD.org), [port-i386](mailto:port-i386@NetBSD.org) """ mentors=""" [Jean-Yves Migeon](mailto:jym@NetBSD.org) """ category="ports" difficulty="hard" duration="6 months" description=""" This project is about implementing the needed support for Intel's VT-d and AMD-IOV functionality in the native x86 ports, with a focus on amd64 first (i386 being a nice-to-have, but not strictly required). NetBSD already has machine-independent bus abstraction layers (namely, [bus_space(9)](https://man.netbsd.org/bus_space.9) for bus-related memory operations, and [bus_dma(9)](https://man.netbsd.org/bus_dma.9) for DMA related transactions) that are successfully used on other arches like SPARC for IOMMU. The present project is to implement the machine-dependent functions to support IOMMU on x86. Please note that it requires specific hardware for testing, as not all motherboards/chipsets have IOMMU supported let alone working correctly. In case of doubt, ask on the mailing list or point of contact. """ ]]