pci: fix migration path for devices behind bridges
authorMichael S. Tsirkin <mst@redhat.com>
Mon, 27 Dec 2010 09:21:38 +0000 (11:21 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 27 Dec 2010 09:21:38 +0000 (11:21 +0200)
commita6a7005d14b3c32d4864a718fb1cb19c789f58a5
tree484e7cc06e35a9f6e49e180d86cc6420b1e5a705
parent2ae63bda50ec864a3e61d375b53c8e453ad50140
pci: fix migration path for devices behind bridges

The device path used for migration is currently broken for
for all devices behind a nested bridge.

Replace this by a hierarchical list of slot/function numbers, walking
the path from root down to device. Add :00 after the domain number
so that if there are no nested bridges, this is compatible
with what we have now.

Note: as pointed out by Gleb, using openfirmware paths
might be cleaner, doing this would break compatibility though,
and the IDs used are not guest or user visible at all,
so breaking the compatibility is probably not worth it.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/pci.c