On Thu, Oct 05, 2017 at 04:03:37PM -0700, Jacob Pan wrote: > DMA faults can be detected by IOMMU at device level. Adding a pointer > to struct device allows IOMMU subsystem to report relevant faults > back to the device driver for further handling. > For direct assigned device (or user space drivers), guest OS holds > responsibility to handle and respond per device IOMMU fault. > Therefore we need fault reporting mechanism to propagate faults beyond > IOMMU subsystem.
We use struct device all over the system, and I don't think we should bloat it for fringe case IOMMU bits. Someone really needs to take a step back and figure out how to move this into a structure that's only allocated for device that actually can do physical DMA (and/or have an iommu attached) This is the 3rd iommu field, in addition to 8 dma-specific fields that we carry around for each struct device.