[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 0/9] e1000: Various fixes and registers' impl
From: |
Jason Wang |
Subject: |
Re: [Qemu-devel] [PATCH v6 0/9] e1000: Various fixes and registers' implementation |
Date: |
Thu, 12 Nov 2015 16:16:31 +0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 11/11/2015 09:52 PM, Leonid Bloch wrote:
> This series fixes issues with packet/octet counting in e1000's Statistic
> registers, fixes a bug in the packet address filtering procedure, and
> implements many MAC registers that were absent before, some Statistic
> counters among them.
>
> Besides this, the series introduces a parameter which, if set to "on"
> (default), will cause the entire MAC registers' array to migrate during
> live migration (please see patches #2 and #9 for details). The rational
> behind this is the ability to implement additional MAC registers in the
> future, without worrying about migration compatibility between future
> versions. For compatibility with previous versions, the above mentioned
> parameter can be set to "off".
>
> Also, a new array is introduced to control the access to the various MAC
> registers. This takes care of situations when a MAC register requires a
> certain parameter to be accessed, or is partially implemented, and
> requires a debug warning to be printed on access attempts.
>
> Additionally, several cosmetic changes are made.
>
> Differences v1-2:
> --------------------
> * Wording of several commit messages corrected.
> * For trivially implemented Diagnostic registers, a debug message is
> added on read/write attempts, alerting of incomplete implementation.
> * Following testing on a physical device, only the lower 16 bits can now
> be read from AIT, and only the lower 4 - from FFMT*.
> * The grow_8reg_if_not_full function is rewritten.
> * inc_tx_bcast_or_mcast_count and increase_size_stats are now called
> from within e1000_send_packet, to avoid code duplication.
>
> Differences v2-3:
> --------------------
> * Minor rewordings of some commit messages (0002, 0003).
> * Live migration capability is added to the newly implemented registers.
>
> Differences v3-4:
> --------------------
> * Introduction of the "full_mac_registers" parameter (see above).
> * Reversion of the live migration handling introduced in v3.
> * Small alignment changes in patch #1 to correspond with the following
> patches.
>
> Differences v4-v5:
> --------------------
> * Introduction of an array to control the access to the MAC registers.
> * Removal of the specific functions that warned of partial
> implementation on read/write from patch 4.
> * Adequate changes to patches 4 and 8: mainly adding the registers
> introduced there to the new array.
>
> Differences v5-v6:
> --------------------
> * The access control array now does not contain an "always accessible"
> bit. The assumption that a register is always accessible is based now
> solely on the facts that it has a read or write handler, and it does
> not require a flag to be set. That also makes place for 6 possible
> flag bits in the access control array, instead of 5 in v5.
> * The support for backward compatibility, nor the new registers
> introduced in this series, can not be turned on now until the last
> patch in this series is applied. This is done to preserve
> compatibility if bisection in-between the patches of this series will
> be needed.
>
> The majority of these changes result from Jason Wang's review - thank
> you, Jason!
Applied in https://github.com/jasowang/qemu/commits/net with a minor
modification:
- Move the compat property from patch 3 to patch 9
Thanks
>
> Leonid Bloch (9):
> e1000: Cosmetic and alignment fixes
> e1000: Add support for migrating the entire MAC registers' array
> e1000: Introduced an array to control the access to the MAC registers
> e1000: Trivial implementation of various MAC registers
> e1000: Fixing the received/transmitted packets' counters
> e1000: Fixing the received/transmitted octets' counters
> e1000: Fixing the packet address filtering procedure
> e1000: Implementing various counters
> e1000: Introducing backward compatibility command line parameter
>
> hw/net/e1000.c | 476
> ++++++++++++++++++++++++++++++++++++++++------------
> hw/net/e1000_regs.h | 8 +-
> include/hw/compat.h | 4 +
> 3 files changed, 379 insertions(+), 109 deletions(-)
>
- [Qemu-devel] [PATCH v6 0/9] e1000: Various fixes and registers' implementation, Leonid Bloch, 2015/11/11
- [Qemu-devel] [PATCH v6 2/9] e1000: Add support for migrating the entire MAC registers' array, Leonid Bloch, 2015/11/11
- [Qemu-devel] [PATCH v6 3/9] e1000: Introduced an array to control the access to the MAC registers, Leonid Bloch, 2015/11/11
- [Qemu-devel] [PATCH v6 1/9] e1000: Cosmetic and alignment fixes, Leonid Bloch, 2015/11/11
- [Qemu-devel] [PATCH v6 5/9] e1000: Fixing the received/transmitted packets' counters, Leonid Bloch, 2015/11/11
- [Qemu-devel] [PATCH v6 6/9] e1000: Fixing the received/transmitted octets' counters, Leonid Bloch, 2015/11/11
- [Qemu-devel] [PATCH v6 4/9] e1000: Trivial implementation of various MAC registers, Leonid Bloch, 2015/11/11
- [Qemu-devel] [PATCH v6 7/9] e1000: Fixing the packet address filtering procedure, Leonid Bloch, 2015/11/11
- [Qemu-devel] [PATCH v6 9/9] e1000: Introducing backward compatibility command line parameter, Leonid Bloch, 2015/11/11
- [Qemu-devel] [PATCH v6 8/9] e1000: Implementing various counters, Leonid Bloch, 2015/11/11
- Re: [Qemu-devel] [PATCH v6 0/9] e1000: Various fixes and registers' implementation,
Jason Wang <=