On 11/30/2015 05:07 AM, Shmulik Ladkani wrote:
> Hi,
>
> On Wed, 25 Nov 2015 16:24:39 +0800 Jason Wang <jasow...@redhat.com> wrote:
>>>>> @@ -2568,6 +2572,7 @@ static void vmxnet3_class_init(ObjectClass *class, 
>>>>> void *data)
>>>>>      c->class_id = PCI_CLASS_NETWORK_ETHERNET;
>>>>>      c->subsystem_vendor_id = PCI_VENDOR_ID_VMWARE;
>>>>>      c->subsystem_id = PCI_DEVICE_ID_VMWARE_VMXNET3;
>>>>> +    c->is_express = 1;
>>>> Should we do this conditionally? And how about the migration
>>>> compatibility? Looks like pcie device is using vmstate_pcie_device
>>>> instead of vmstate_pci_device, maybe need a new property bit for this.
>>> (Responding for the entire series)
>>>
>>> Agreed. Will limit these changes for new versions.
>>>
>>> What's your suggested plan?
>>> Does it make sense to have a property for each change (as they are not
>>> necessarily related), or is it too tedious and one property will suffice?
>> Since they are not necessarily related, we'd better use a property for
>> each change.
> Would it make sense if we expose a new vmxnet3 type to differenciate
> pcie vs pci instances of vmxnet3?
>
> Otherwise, migration gets more complicated, as we need to use either
> vmstate_pci_device or vmstate_pcie_device; also, upon vm load, we need
> to preserve the semantics saved (whether the instance was pci or pcie).
>
> I have managed to do so, but is a bit tedious; Exposing a new type seems
> cleaner.

Yes, it's a good idea to have a new type.

Thanks

Reply via email to