qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 1/1] s390 pci infrastructure modelling


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v4 1/1] s390 pci infrastructure modelling
Date: Thu, 9 Jul 2015 10:48:25 +0300

On Wed, Jul 08, 2015 at 01:44:55PM +0800, Yi Min Zhao wrote:
> @@ -588,9 +606,172 @@ static const TypeInfo s390_pcihost_info = {
>      }
>  };
>  
> +static void s390_pci_device_hot_plug(HotplugHandler *hotplug_dev,
> +                                     DeviceState *dev, Error **errp)
> +{
> +    S390PCIBusDevice *zpci = S390_PCI_DEVICE(dev);
> +    S390PCIBusDevice *tmp;
> +    S390PCIFacility *f = S390_PCI_FACILITY(
> +        object_resolve_path(TYPE_S390_PCI_FACILITY, NULL));
> +
> +    QTAILQ_FOREACH(tmp, &f->zpci_list, next) {
> +        /* for now, we use fid to sort the list, need to use uid instead
> +         * when uid is ready.

What does ready mean in this context?

> +         */
> +        if (tmp->fid > zpci->fid) {
> +            break;
> +        }
> +    }
> +
> +    if (tmp) {
> +        QTAILQ_INSERT_BEFORE(tmp, zpci, next);
> +    } else {
> +        QTAILQ_INSERT_TAIL(&f->zpci_list, zpci, next);
> +    }
> +    f->token_valid = false;
> +}

This still means hotplug will change the index.
How about just using an explicit property to set the index?
Harder to use but keeps code simple.

-- 
MST



reply via email to

[Prev in Thread] Current Thread [Next in Thread]