On 09/01/2011 07:05 PM, Anthony Liguori wrote:
I think the patchset is fine. It routes all access through pci_dma_rw(),
which accepts a PCIDevice. We can later define pci_dma_rw() in terms of
the memory API and get the benefit of the memory hierarchy.
The challenge is what you do about something like ne2k where the core
chipset can either be a PCI device or an ISA device. You would have
to implement a wrapper around pci_dma_rw() in order to turn it into
cpu_physical_memory_rw when doing ISA.
True. But I still think it's the right thing.
We can't really pass a MemoryRegion as the source address, since there
is no per-device MemoryRegion. We can use pci_address_space() for basic
offsetting, and for bypassing bridge windows, but iommu source detection
has to use the PCIDevice directly.
--
error compiling committee.c: too many arguments to function