Peter Maydell <peter.mayd...@linaro.org> writes: > On 22 July 2013 20:52, Anthony Liguori <anth...@codemonkey.ws> wrote: >> Alexander Graf <ag...@suse.de> writes: >>> On 22.07.2013, at 21:38, Anthony Liguori wrote: >>> >>> This could be used just the same for ARM's mach-virt, so I'd rather >>> not make it e500 specific. >> >> If someone designed a "virt" machine and didn't include PCI or some >> other sane existing bus... > > "mach-virt" just means "completely described by device tree > with no knowledge hardcoded in the kernel about the platform".
Fair enough. > We don't currently have any PCI host controller which is: > (a) for ARM In QEMU? You can make one super easily by just extending PCIHostState. It's just a matter of mapping the index and data registers somewhere. I can't believe it's that hard to get this working in Linux either. > (b) entirely device tree driven I'm not sure what this means, but presumably it wouldn't be hard to do the above. > (c) supported by QEMU This part is easy enough. > (d) with a decent Linux driver See above. > > So mach-virt doesn't have PCI; it will use virtio-mmio, > same as kvmtool for ARM does. That's all well and fine but there are a lot of advantages to having PCI and being able to use all of the features associated with it. It's always tempting to reinvent the wheel when given the chance but I think in the long term, you'll regret it. Regards, Anthony Liguori > > -- PMM