[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 5/7] vmxnet3: The vmxnet3 device is a PCIE en
From: |
Shmulik Ladkani |
Subject: |
Re: [Qemu-devel] [PATCH v3 5/7] vmxnet3: The vmxnet3 device is a PCIE endpoint |
Date: |
Tue, 15 Dec 2015 08:09:54 +0200 |
Hi Jason,
On Tue, 15 Dec 2015 10:35:59 +0800 Jason Wang <address@hidden> wrote:
> > Another attempt I've made is to indroduce a new type vmxnet3e (the
> > pcie variant of vmxnet3).
> > I dropped this approach since it was way too cumbersome, introducing
> > lots of boiler-plate code for the two (otherwise) identical types.
>
> Yes, that's another solution (as I replied for patch 6). A question
> here. If vmware differs pci-e version of vmxnet3 from pci version,
> probably we need do the same (and you don't even need to care for
> compatibility in the case). At a quick glance, no much duplicated codes.
> (if you mean the msi offsets, you can let vmxnet3e use the new offset
> unconditionally).
Examples of duplicated boiler plate:
Split to a TYPE_VMXNET3_BASE abstract type having two concrete sub types.
Introduction of 'VMStateDescription vmstate_vmxnet3e' which differs only
due to its '.name' (must be the name of the type, i.e "vmxnet3e") and
the use of VMSTATE_PCIE_DEVICE (instead of VMSTATE_PCI_DEVICE), but
otherwise idential to existing 'VMStateDescription vmstate_vmxnet3'.
Introduction of 'VMStateDescription vmxstate_vmxnet3e_mcast_list' which
differs only by '.name' (must be "vmxnet3e/mcast_list" instead of
"vmxnet3/mcast_list") but otherwise identical to existing
'vmxstate_vmxnet3_mcast_list'.
Also, the vmxnet3 device is indeed a PCIE, and should have been so since
start.
The reason we're keeping the non-pcie variant is not since user would be
interested in an environment having the the non-pcie type, but only for
not breaking migration from old hardware versions.
Thus, suggesting 2 device types, providing the non-pcie variant as a
user visible type, exposes the user with a choice of selecting a type
which ideally shouldn't have existed at all.
This seems less preferrable.
Regards,
Shmulik
- [Qemu-devel] [PATCH v3 2/7] vmxnet3: Change the offset of the MSIX PBA table, (continued)
- [Qemu-devel] [PATCH v3 2/7] vmxnet3: Change the offset of the MSIX PBA table, Shmulik Ladkani, 2015/12/12
- [Qemu-devel] [PATCH v3 3/7] vmxnet3: Introduce 'x-old-msi-offsets' backword compatability property, Shmulik Ladkani, 2015/12/12
- [Qemu-devel] [PATCH v3 4/7] vmxnet3: coding: Introduce VMXNET3Class, Shmulik Ladkani, 2015/12/12
- [Qemu-devel] [PATCH v3 6/7] vmxnet3: Introduce 'x-disable-pcie' backword compatability property, Shmulik Ladkani, 2015/12/12
- [Qemu-devel] [PATCH v3 5/7] vmxnet3: The vmxnet3 device is a PCIE endpoint, Shmulik Ladkani, 2015/12/12
[Qemu-devel] [PATCH v3 7/7] vmxnet3: Report the Device Serial Number capability, Shmulik Ladkani, 2015/12/12