On Thu, Jul 31, 2014 at 05:47:29PM +0800, arei.gong...@huawei.com wrote: > From: Gonglei <arei.gong...@huawei.com> > > Device should be removed from global boot list when > it is hot-unplugged. > > Signed-off-by: Chenliang <chenlian...@huawei.com> > Signed-off-by: Gonglei <arei.gong...@huawei.com> > --- > hw/block/virtio-blk.c | 1 + > hw/i386/kvm/pci-assign.c | 1 + > hw/misc/vfio.c | 1 + > hw/net/e1000.c | 1 + > hw/net/eepro100.c | 1 + > hw/net/ne2000.c | 1 + > hw/net/rtl8139.c | 1 + > hw/net/virtio-net.c | 1 + > hw/net/vmxnet3.c | 1 + > hw/scsi/scsi-generic.c | 1 + > hw/usb/dev-network.c | 1 + > hw/usb/host-libusb.c | 1 + > hw/usb/redirect.c | 1 + > 13 files changed, 13 insertions(+)
Grepping for add_boot_device_path, I don't see corresponding del_boot_device_path() calls in this patch for the following: hw/ide/qdev.c: add_boot_device_path(dev->conf.bootindex, &dev->qdev, hw/block/fdc.c: add_boot_device_path(isa->bootindexA, dev, "/floppy@0"); hw/block/fdc.c: add_boot_device_path(isa->bootindexB, dev, "/floppy@1"); hw/net/pcnet.c: add_boot_device_path(s->conf.bootindex, dev, "/ethernet-phy@0"); hw/net/spapr_llan.c: add_boot_device_path(dev->nicconf.bootindex, DEVICE(dev), ""); hw/scsi/scsi-disk.c: add_boot_device_path(s->qdev.conf.bootindex, &dev->qdev, NULL); Why we don't need del_boot_device_path() calls for those? These seem to be OK, and are handled by this patch: hw/i386/kvm/pci-assign.c: add_boot_device_path(dev->bootindex, &pci_dev->qdev, NULL); hw/block/virtio-blk.c: add_boot_device_path(s->conf->bootindex, dev, "/disk@0,0"); hw/misc/vfio.c: add_boot_device_path(vdev->bootindex, &pdev->qdev, NULL); hw/net/rtl8139.c: add_boot_device_path(s->conf.bootindex, d, "/ethernet-phy@0"); hw/net/e1000.c: add_boot_device_path(d->conf.bootindex, dev, "/ethernet-phy@0"); hw/net/eepro100.c: add_boot_device_path(s->conf.bootindex, &pci_dev->qdev, "/ethernet-phy@0"); hw/net/ne2000.c: add_boot_device_path(s->c.bootindex, &pci_dev->qdev, "/ethernet-phy@0"); hw/net/virtio-net.c: add_boot_device_path(n->nic_conf.bootindex, dev, "/ethernet-phy@0"); hw/net/vmxnet3.c: add_boot_device_path(s->conf.bootindex, dev, "/ethernet-phy@0"); hw/scsi/scsi-generic.c: add_boot_device_path(s->conf.bootindex, &s->qdev, NULL); hw/usb/dev-network.c: add_boot_device_path(s->conf.bootindex, &dev->qdev, "/ethernet@0"); hw/usb/host-libusb.c: add_boot_device_path(s->bootindex, &udev->qdev, NULL); hw/usb/redirect.c: add_boot_device_path(dev->bootindex, &udev->qdev, NULL); This one has dev==NULL, so it looks OK: hw/core/loader.c: add_boot_device_path(bootindex, NULL, devpath); This is modify_boot_device_path(), so it's OK: vl.c: add_boot_device_path(bootindex, dev, old_entry->suffix); -- Eduardo