> 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. Paul