e1000: Introducing backward compatibility command line parameter
authorLeonid Bloch <leonid.bloch@ravellosystems.com>
Wed, 11 Nov 2015 13:52:47 +0000 (15:52 +0200)
committerJason Wang <jasowang@redhat.com>
Thu, 12 Nov 2015 07:26:54 +0000 (15:26 +0800)
This follows the previous patches, where support for migrating the
entire MAC registers' array, and some new MAC registers were introduced.

This patch introduces the e1000-specific boolean parameter
"extra_mac_registers", which is on by default. Setting it to off will
enable migration to older versions of QEMU, but will disable the read
and write access to the new registers, that were introduced since adding
the ability to migrate the entire MAC array.

Example for usage to enable backward compatibility and to disable the
new MAC registers:

    qemu-system-x86_64 -device e1000,extra_mac_registers=off,... ...

As mentioned above, the default value is "on".

Signed-off-by: Leonid Bloch <leonid.bloch@ravellosystems.com>
Signed-off-by: Dmitry Fleytman <dmitry.fleytman@ravellosystems.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
hw/net/e1000.c
include/hw/compat.h

index 793286a..c877e06 100644 (file)
@@ -1854,6 +1854,8 @@ static Property e1000_properties[] = {
                     compat_flags, E1000_FLAG_AUTONEG_BIT, true),
     DEFINE_PROP_BIT("mitigation", E1000State,
                     compat_flags, E1000_FLAG_MIT_BIT, true),
+    DEFINE_PROP_BIT("extra_mac_registers", E1000State,
+                    compat_flags, E1000_FLAG_MAC_BIT, true),
     DEFINE_PROP_END_OF_LIST(),
 };
 
index 93e71af..896a1b0 100644 (file)
@@ -6,7 +6,11 @@
             .driver   = "virtio-blk-device",\
             .property = "scsi",\
             .value    = "true",\
-        },
+        },{\
+            .driver   = "e1000",\
+            .property = "extra_mac_registers",\
+            .value    = "off",\
+         },
 
 #define HW_COMPAT_2_3 \
         {\