On Wed, Jun 15, 2016 at 5:26 PM, Eduardo Habkost <ehabk...@redhat.com> wrote: > On Wed, Jun 15, 2016 at 03:21:48PM +0300, David Kiarie wrote: >> Hi all, >> >> This patchset adds basic AMD IOMMU emulation support to Qemu. >> >> Changes since V11 >> -AMD IOMMU is not started with -device amd-iommu (with a dependency on >> Marcel's patches). >> -IOMMU commands are represented using bitfields which is less error prone >> and more readable[Peter] >> -Changed from debug fprintfs to tracing[Jan] > > What were the issues that required the sysbus+PCI code you sent > previously? How did you address them in this series?
Short answer: Those issues are not present in this patch. Long answer: The sysbus + PCI code is necessary for interrupt remapping to be implemented(it could also be done without sysbus + PCI code but that wouldn't be in line with the Intel IOMMU interrupt remapping code, which is already on the list). The idea is that X86 IOMMUs should have a base class that implements common code. It was decided that this class should be a SysBusDev(which works perfectly with Intel IOMMU) but not with AMD IOMMU which has PCI properties. I had to find a way to provide for the PCI properties once I inherit from Intel IOMMU. In this patchset, I have not inherited from the base class(it's not merged yet) and even if it was merged I'd prefer to only use the SysBus + PCI code when necessary(when I work on interrupt remapping) so as to avoid delaying this patchset further. > > -- > Eduardo