From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36738) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwnK6-0001Nf-9A for qemu-devel@nongnu.org; Thu, 12 Nov 2015 03:33:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZwnK2-0001yL-7X for qemu-devel@nongnu.org; Thu, 12 Nov 2015 03:33:38 -0500 Received: from mx1.redhat.com ([209.132.183.28]:35645) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwnK2-0001yH-1V for qemu-devel@nongnu.org; Thu, 12 Nov 2015 03:33:34 -0500 From: Jason Wang Date: Thu, 12 Nov 2015 16:32:28 +0800 Message-Id: <1447317150-31076-11-git-send-email-jasowang@redhat.com> In-Reply-To: <1447317150-31076-1-git-send-email-jasowang@redhat.com> References: <1447317150-31076-1-git-send-email-jasowang@redhat.com> Subject: [Qemu-devel] [PULL v2 10/12] e1000: Introducing backward compatibility command line parameter List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: peter.maydell@linaro.org, qemu-devel@nongnu.org Cc: Leonid Bloch , Jason Wang , Dmitry Fleytman From: Leonid Bloch 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 Signed-off-by: Dmitry Fleytman Signed-off-by: Jason Wang --- hw/net/e1000.c | 2 ++ include/hw/compat.h | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hw/net/e1000.c b/hw/net/e1000.c index 793286a..c877e06 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -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(), }; diff --git a/include/hw/compat.h b/include/hw/compat.h index 93e71af..896a1b0 100644 --- a/include/hw/compat.h +++ b/include/hw/compat.h @@ -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 \ {\ -- 2.1.4