On 07/01/2011 07:02 AM, Alexander Graf wrote:
On 01.07.2011, at 13:55, Paul Brook wrote:
But the real challenge is how to expose the device to the guest device
tree. Especially when it comes to links between dt nodes, interrupt maps,
etc. We basically have 3 choices there:
* take the host device tree pieces and modify them
* provide device tree chunks for each device (manually or through qdev
parameters) * use the device tree as machine config file and base
everything on it (solves the linking problem)
The main question is which one would be the cleanest solution. And how
would it be implemented.
I don't think any of this is specific to device passthrough. It occurs as
soon as you have any user-configurable parts of the machine (or even just a
nontrivial selection of machine variants). My guess is the only reason you
haven't hit it before is because you're only emulated a single hard-coded
SoC/board.
Well, the real reason we haven't hit this before is that we don't have any
devices in Qemu that are generic. We only have specific device emulation. This
however would be a device that can handle hundreds of different backing
devices, all with different requirements.
The infrastructure we have today simply isn't made for this. The question is
how can we model it so that it will? :)
Our infrastructure is quite capable of handling this. It has many other
problems but I think the only thing really missing is the way to have
lists of parameters. That seems easy to solve though.
Regards,
Anthony Liguori
Alex