On 02.07.2011, at 01:50, Paul Brook wrote: >> On Fri, 2011-07-01 at 21:59 +0100, Paul Brook wrote: >>>> On Fri, 1 Jul 2011 18:03:01 +0100 >>>> >>>> Paul Brook <p...@codesourcery.com> wrote: >>>>> Basically you should start by implementing full emulation of a device >>>>> with similar characteristics to the one you want to passthrough. >>>> >>>> That's not going to happen. >>> >>> Why is your device so unique? How does it interact with the guest system >>> and what features does it require that doen't exist in any device that >>> can be emulated? >> >> Do you guys only support PCI pass-through by doing full emulation of the >> all possible supported PCI devices first ? :-) > > Absolutely not. My point is that dynamic (user-driven) device creation is > effectively a prerequisite for a passthrough device. > > If you just want to make a very specific use-case then this doesn't need any > code in qemu at all. We just make the user provide the device tree > themselves. If it doesn't match then they loose. If you do choose an ugly > qemu then the changes are it'll be changed/removed once we do dyamic device > creation properly. There have already been discussions about dynamic device > creation, so this this isn't completely hypothetical. > > If you integrate it properly, then you need to realise then there's a fair > chunk of infrastructure and user interface required. Most of which has > nothing to do with device passthrough. Trying to implement both at the same > time is just going to cause confusion and complicate things. It's already a > hard problem, combining it with something else is just going to cause you and > everyone else even more pain.
So you're basically saying we should tackle these 3 issues separately: * actually pass through a device * generate interrupt links * model the guest device tree dynamically based on whatever the user gives us I tend to agree with that perspective. Still, the main issue still stands in that we don't have a concrete answer for all three issues :). Facing them one at a time might help actually solving them though. Alex