On Mon, Aug 01, 2011 at 11:33:37PM +1000, David Gibson wrote: > On Mon, Aug 01, 2011 at 01:10:38PM +0300, Michael S. Tsirkin wrote: > > On Mon, Aug 01, 2011 at 04:51:02PM +1000, David Gibson wrote: > > > qemu already almost supports PCI domains; that is, several entirely > > > independent PCI host bridges on the same machine. However, a bug in > > > pci_bus_new_inplace() means that every host bridge gets assigned domain > > > number zero and so can't be properly distinguished. This patch fixes the > > > bug, giving each new host bridge a new domain number. > > > > > > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> > > > > OK, but I'd like to see the whole picture. > > How does the guest detect multiple domains, > > and how does it access them? > > For the pseries machine, which is what I'm concerned with, each host > bridge is advertised through the device tree passed to the guest.
Could you explain please? What generates the device tree and passes it to the guest? > That gives the necessary handles and addresses for accesing config > space and memory and IO windows for each host bridge. I see. I think maybe a global counter in the common code is not exactly the best solution in the general case. > -- > David Gibson | I'll have my music baroque, and my code > david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ > _other_ > | _way_ _around_! > http://www.ozlabs.org/~dgibson