On Mon, 2010-06-14 at 09:02 +0200, Gerd Hoffmann wrote: > Hi, > > > My premise with this attempt is that we walk the hierarchy and use the > > names to create the base of the path. As we get to the device, > > particularly to the parent bus of the device, we need to start looking at > > properties to ensure uniqueness. > > You'll need that for every bus along the way down to the device. Create > a virtual machine with two lsi scsi host adapters, then attach a disk > with scsi id 0 to each. Just the scsi id isn't good enougth to identify > the device. You'll need the lsi pci address too. Yep, see below. > > For now, the only properties I've tagged as path > > properties are PCI bus addresses and MAC addresses. > > mac address isn't needed here. You need the property which specifies > the bus address. For PCI this obviously is the PCI address. For scsi > the scsi id. For ISA you can use the I/O port base. virtio-serial the > port number, ... PCI: addr SCSI: scsi-id ISA: serial/parallel = iobase, others?? ide-drive: unit I2C: address virtio-serial doesn't seem to make a DeviceState per port, so I think it can be skipped. I'm sure I'm still missing some... That gives me the list below (printed from qdev_init()): /i440FX-pcihost /i440FX-pcihost/pci.0/i440FX.00.0 /i440FX-pcihost/pci.0/PIIX3.01.0 /i440FX-pcihost/pci.0/cirrus-vga.02.0 /i440FX-pcihost/pci.0/PIIX3.01.0/isa.0/mc146818rtc /i440FX-pcihost/pci.0/PIIX3.01.0/isa.0/isa-serial.0x3f8 /i440FX-pcihost/pci.0/PIIX3.01.0/isa.0/isa-serial.0x2f8 /i440FX-pcihost/pci.0/PIIX3.01.0/isa.0/isa-parallel.0x378 /i440FX-pcihost/pci.0/PIIX3.01.0/isa.0/i8042 /i440FX-pcihost/pci.0/PIIX3.01.0/isa.0/isa-fdc /i440FX-pcihost/pci.0/i82551.03.0 /i440FX-pcihost/pci.0/virtio-net-pci.04.0 /i440FX-pcihost/pci.0/e1000.05.0 /i440FX-pcihost/pci.0/rtl8139.06.0 /i440FX-pcihost/pci.0/pcnet.07.0 /i440FX-pcihost/pci.0/piix3-ide.01.1 /i440FX-pcihost/pci.0/piix3-ide.01.1/ide.0/ide-drive.0 /i440FX-pcihost/pci.0/piix3-ide.01.1/ide.0/ide-drive.1 /i440FX-pcihost/pci.0/piix3-ide.01.1/ide.1/ide-drive.0 /i440FX-pcihost/pci.0/PIIX4_PM.01.3 /i440FX-pcihost/pci.0/PIIX4_PM.01.3/i2c/smbus-eeprom.80 /i440FX-pcihost/pci.0/PIIX4_PM.01.3/i2c/smbus-eeprom.81 /i440FX-pcihost/pci.0/PIIX4_PM.01.3/i2c/smbus-eeprom.82 /i440FX-pcihost/pci.0/PIIX4_PM.01.3/i2c/smbus-eeprom.83 /i440FX-pcihost/pci.0/PIIX4_PM.01.3/i2c/smbus-eeprom.84 /i440FX-pcihost/pci.0/PIIX4_PM.01.3/i2c/smbus-eeprom.85 /i440FX-pcihost/pci.0/PIIX4_PM.01.3/i2c/smbus-eeprom.86 /i440FX-pcihost/pci.0/PIIX4_PM.01.3/i2c/smbus-eeprom.87 /i440FX-pcihost/pci.0/lsi53c895a.08.0/scsi.0/scsi-disk.0 /i440FX-pcihost/pci.0/lsi53c895a.08.0/scsi.0/scsi-disk.3 /i440FX-pcihost/pci.0/lsi53c895a.08.0 /i440FX-pcihost/pci.0/virtio-serial-pci.09.0 /i440FX-pcihost/pci.0/virtio-serial-pci.0a.0 /i440FX-pcihost/pci.0/virtio-blk-pci.0b.0 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html