On 12/12/2015 08:00 PM, Shmulik Ladkani wrote: > Following the previous patch which changed vmxnet3 to be a pci express > device, this patch introduces a boolean property 'x-disable-pcie' whose > default is false. > > Setting 'x-disable-pcie' to 'on' preserves the old 'pci device' (non > express) behavior. This allows migration to older versions. > > Signed-off-by: Shmulik Ladkani <shmulik.ladk...@ravellosystems.com> > --- > hw/net/vmxnet3.c | 2 ++ > include/hw/compat.h | 4 ++++ > 2 files changed, 6 insertions(+) > > diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c > index 7ded287..f9cd02b 100644 > --- a/hw/net/vmxnet3.c > +++ b/hw/net/vmxnet3.c > @@ -2610,6 +2610,8 @@ static Property vmxnet3_properties[] = { > DEFINE_NIC_PROPERTIES(VMXNET3State, conf), > DEFINE_PROP_BIT("x-old-msi-offsets", VMXNET3State, compat_flags, > VMXNET3_COMPAT_FLAG_OLD_MSI_OFFSETS_BIT, false), > + DEFINE_PROP_BIT("x-disable-pcie", VMXNET3State, compat_flags, > + VMXNET3_COMPAT_FLAG_DISABLE_PCIE_BIT, false), > DEFINE_PROP_END_OF_LIST(), > }; > > diff --git a/include/hw/compat.h b/include/hw/compat.h > index 01e326d..642b082 100644 > --- a/include/hw/compat.h > +++ b/include/hw/compat.h > @@ -22,6 +22,10 @@ > .driver = "vmxnet3",\ > .property = "x-old-msi-offsets",\ > .value = "on",\ > + },{\ > + .driver = "vmxnet3",\ > + .property = "x-disable-pcie",\ > + .value = "on",\ > }, > > #define HW_COMPAT_2_3 \
Same as patch 3. Too late for 2.5, need do this for HW_COMPAT_2_5. Just for pcie, another choice is a new type with "is_express = true". But both method looks good to me.