From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, Jason Wang <jasowang@redhat.com>,
Hanna Reitz <hreitz@redhat.com>,
Dmitry Fleytman <dmitry.fleytman@gmail.com>,
qemu-block@nongnu.org, Fam Zheng <fam@euphon.net>,
Paolo Bonzini <pbonzini@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Zhao Liu <zhao1.liu@intel.com>,
Yanan Wang <wangyanan55@huawei.com>,
Kevin Wolf <kwolf@redhat.com>,
Eduardo Habkost <eduardo@habkost.net>,
Richard Henderson <richard.henderson@linaro.org>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
Gerd Hoffmann <kraxel@redhat.com>, John Snow <jsnow@redhat.com>
Subject: Re: [PATCH 08/21] hw/net/e1000: Remove unused E1000_FLAG_MAC flag
Date: Thu, 16 Jan 2025 09:57:45 +0000 [thread overview]
Message-ID: <Z4jYGbenC4UZKKp8@redhat.com> (raw)
In-Reply-To: <20250115232247.30364-9-philmd@linaro.org>
On Thu, Jan 16, 2025 at 12:22:34AM +0100, Philippe Mathieu-Daudé wrote:
> E1000_FLAG_MAC was only used by the hw_compat_2_4[] array,
> via the 'extra_mac_registers=off' property. We removed all
> machines using that array, lets remove all the code around
> E1000_FLAG_MAC.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> hw/net/e1000.c | 63 +++++++++-----------------------------------------
> 1 file changed, 11 insertions(+), 52 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>
> diff --git a/hw/net/e1000.c b/hw/net/e1000.c
> index 3d0b2277039..14d2133cd80 100644
> --- a/hw/net/e1000.c
> +++ b/hw/net/e1000.c
> @@ -127,10 +127,8 @@ struct E1000State_st {
> QEMUTimer *flush_queue_timer;
>
> /* Compatibility flags for migration to/from qemu 1.3.0 and older */
> -#define E1000_FLAG_MAC_BIT 2
> #define E1000_FLAG_TSO_BIT 3
> #define E1000_FLAG_VET_BIT 4
> -#define E1000_FLAG_MAC (1 << E1000_FLAG_MAC_BIT)
> #define E1000_FLAG_TSO (1 << E1000_FLAG_TSO_BIT)
> #define E1000_FLAG_VET (1 << E1000_FLAG_VET_BIT)
>
> @@ -1218,46 +1216,17 @@ enum { MAC_ACCESS_PARTIAL = 1, MAC_ACCESS_FLAG_NEEDED = 2 };
> * n - flag needed
> * p - partially implenented */
> static const uint8_t mac_reg_access[0x8000] = {
> - [IPAV] = markflag(MAC), [WUC] = markflag(MAC),
> - [IP6AT] = markflag(MAC), [IP4AT] = markflag(MAC),
> - [FFVT] = markflag(MAC), [WUPM] = markflag(MAC),
> - [ECOL] = markflag(MAC), [MCC] = markflag(MAC),
> - [DC] = markflag(MAC), [TNCRS] = markflag(MAC),
> - [RLEC] = markflag(MAC), [XONRXC] = markflag(MAC),
> - [XOFFTXC] = markflag(MAC), [RFC] = markflag(MAC),
> - [TSCTFC] = markflag(MAC), [MGTPRC] = markflag(MAC),
> - [WUS] = markflag(MAC), [AIT] = markflag(MAC),
> - [FFLT] = markflag(MAC), [FFMT] = markflag(MAC),
> - [SCC] = markflag(MAC), [FCRUC] = markflag(MAC),
> - [LATECOL] = markflag(MAC), [COLC] = markflag(MAC),
> - [SEQEC] = markflag(MAC), [CEXTERR] = markflag(MAC),
> - [XONTXC] = markflag(MAC), [XOFFRXC] = markflag(MAC),
> - [RJC] = markflag(MAC), [RNBC] = markflag(MAC),
> - [MGTPDC] = markflag(MAC), [MGTPTC] = markflag(MAC),
> - [RUC] = markflag(MAC), [ROC] = markflag(MAC),
> - [GORCL] = markflag(MAC), [GORCH] = markflag(MAC),
> - [GOTCL] = markflag(MAC), [GOTCH] = markflag(MAC),
> - [BPRC] = markflag(MAC), [MPRC] = markflag(MAC),
> - [TSCTC] = markflag(MAC), [PRC64] = markflag(MAC),
> - [PRC127] = markflag(MAC), [PRC255] = markflag(MAC),
> - [PRC511] = markflag(MAC), [PRC1023] = markflag(MAC),
> - [PRC1522] = markflag(MAC), [PTC64] = markflag(MAC),
> - [PTC127] = markflag(MAC), [PTC255] = markflag(MAC),
> - [PTC511] = markflag(MAC), [PTC1023] = markflag(MAC),
> - [PTC1522] = markflag(MAC), [MPTC] = markflag(MAC),
> - [BPTC] = markflag(MAC),
> -
> - [TDFH] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> - [TDFT] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> - [TDFHS] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> - [TDFTS] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> - [TDFPC] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> - [RDFH] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> - [RDFT] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> - [RDFHS] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> - [RDFTS] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> - [RDFPC] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> - [PBM] = markflag(MAC) | MAC_ACCESS_PARTIAL,
> + [TDFH] = MAC_ACCESS_PARTIAL,
> + [TDFT] = MAC_ACCESS_PARTIAL,
> + [TDFHS] = MAC_ACCESS_PARTIAL,
> + [TDFTS] = MAC_ACCESS_PARTIAL,
> + [TDFPC] = MAC_ACCESS_PARTIAL,
> + [RDFH] = MAC_ACCESS_PARTIAL,
> + [RDFT] = MAC_ACCESS_PARTIAL,
> + [RDFHS] = MAC_ACCESS_PARTIAL,
> + [RDFTS] = MAC_ACCESS_PARTIAL,
> + [RDFPC] = MAC_ACCESS_PARTIAL,
> + [PBM] = MAC_ACCESS_PARTIAL,
It seems like this is removing all use of the 'markflag' macro ?
If I'm correct, then that macro can be removed. That in turnm means
the 'MAC_ACCESS_FLAG_NEEDED' enum entry can also be removed, as well
as places in code that check this flag.
> };
>
> static void
> @@ -1419,13 +1388,6 @@ static int e1000_tx_tso_post_load(void *opaque, int version_id)
> return 0;
> }
>
> -static bool e1000_full_mac_needed(void *opaque)
> -{
> - E1000State *s = opaque;
> -
> - return chkflag(MAC);
> -}
> -
> static bool e1000_tso_state_needed(void *opaque)
> {
> E1000State *s = opaque;
> @@ -1451,7 +1413,6 @@ static const VMStateDescription vmstate_e1000_full_mac_state = {
> .name = "e1000/full_mac_state",
> .version_id = 1,
> .minimum_version_id = 1,
> - .needed = e1000_full_mac_needed,
> .fields = (const VMStateField[]) {
> VMSTATE_UINT32_ARRAY(mac_reg, E1000State, 0x8000),
> VMSTATE_END_OF_LIST()
> @@ -1679,8 +1640,6 @@ static void pci_e1000_realize(PCIDevice *pci_dev, Error **errp)
>
> static const Property e1000_properties[] = {
> DEFINE_NIC_PROPERTIES(E1000State, conf),
> - DEFINE_PROP_BIT("extra_mac_registers", E1000State,
> - compat_flags, E1000_FLAG_MAC_BIT, true),
> DEFINE_PROP_BIT("migrate_tso_props", E1000State,
> compat_flags, E1000_FLAG_TSO_BIT, true),
> DEFINE_PROP_BIT("init-vet", E1000State,
> --
> 2.47.1
>
>
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2025-01-16 9:58 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-15 23:22 [PATCH 00/21] hw/i386/pc: Remove deprecated 2.4 and 2.5 PC machines Philippe Mathieu-Daudé
2025-01-15 23:22 ` [PATCH 01/21] hw/i386/pc: Remove unused pc_compat_2_3 declarations Philippe Mathieu-Daudé
2025-01-16 9:06 ` Daniel P. Berrangé
2025-01-16 18:06 ` Richard Henderson
2025-01-17 8:52 ` Thomas Huth
2025-01-30 9:59 ` Michael Tokarev
2025-01-30 10:27 ` Philippe Mathieu-Daudé
2025-01-15 23:22 ` [PATCH 02/21] hw/i386/pc: Remove deprecated pc-q35-2.4 and pc-i440fx-2.4 machines Philippe Mathieu-Daudé
2025-01-16 9:29 ` Daniel P. Berrangé
2025-01-16 10:33 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 03/21] hw/i386/pc: Remove PCMachineClass::broken_reserved_end field Philippe Mathieu-Daudé
2025-01-16 9:38 ` Daniel P. Berrangé
2025-01-17 8:55 ` Thomas Huth
2025-01-15 23:22 ` [PATCH 04/21] hw/i386/pc: Remove pc_compat_2_4[] array Philippe Mathieu-Daudé
2025-01-16 9:39 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 05/21] target/i386/cpu: Remove X86CPU::check_cpuid field Philippe Mathieu-Daudé
2025-01-16 9:46 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 06/21] target/i386/cpu: Pass Error** to x86_cpu_filter_features() Philippe Mathieu-Daudé
2025-01-16 9:51 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 07/21] hw/core/machine: Remove hw_compat_2_4[] array Philippe Mathieu-Daudé
2025-01-16 9:53 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 08/21] hw/net/e1000: Remove unused E1000_FLAG_MAC flag Philippe Mathieu-Daudé
2025-01-16 9:57 ` Daniel P. Berrangé [this message]
2025-01-17 8:58 ` Thomas Huth
2025-01-17 16:41 ` Philippe Mathieu-Daudé
2025-01-17 19:00 ` Thomas Huth
2025-01-15 23:22 ` [PATCH 09/21] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_MIGRATE_EXTRA definition Philippe Mathieu-Daudé
2025-01-16 10:01 ` Daniel P. Berrangé
2025-01-17 9:06 ` Thomas Huth
2025-04-29 13:50 ` Philippe Mathieu-Daudé
2025-01-15 23:22 ` [PATCH 10/21] hw/virtio/virtio-pci: Remove VIRTIO_PCI_FLAG_DISABLE_PCIE definition Philippe Mathieu-Daudé
2025-01-16 10:06 ` Daniel P. Berrangé
2025-01-17 9:08 ` Thomas Huth
2025-01-17 16:43 ` Philippe Mathieu-Daudé
2025-01-17 18:43 ` Thomas Huth
2025-01-15 23:22 ` [PATCH 11/21] hw/i386/pc: Remove deprecated pc-q35-2.5 and pc-i440fx-2.5 machines Philippe Mathieu-Daudé
2025-01-16 10:34 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 12/21] hw/i386/x86: Remove X86MachineClass::save_tsc_khz field Philippe Mathieu-Daudé
2025-01-16 10:08 ` Daniel P. Berrangé
2025-01-17 9:09 ` Thomas Huth
2025-01-15 23:22 ` [PATCH 13/21] hw/nvram/fw_cfg: Remove legacy FW_CFG_ORDER_OVERRIDE Philippe Mathieu-Daudé
2025-01-16 10:13 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 14/21] hw/core/machine: Remove hw_compat_2_5[] array Philippe Mathieu-Daudé
2025-01-16 10:16 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 15/21] hw/block/fdc-isa: Remove 'fallback' property Philippe Mathieu-Daudé
2025-01-16 10:16 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 16/21] hw/scsi/vmw_pvscsi: Remove PVSCSI_COMPAT_OLD_PCI_CONFIGURATION definition Philippe Mathieu-Daudé
2025-01-16 10:17 ` Daniel P. Berrangé
2025-01-17 9:16 ` Thomas Huth
2025-04-29 13:56 ` Philippe Mathieu-Daudé
2025-01-15 23:22 ` [PATCH 17/21] hw/scsi/vmw_pvscsi: Remove PVSCSI_COMPAT_DISABLE_PCIE_BIT definition Philippe Mathieu-Daudé
2025-01-16 10:18 ` Daniel P. Berrangé
2025-01-17 9:21 ` Thomas Huth
2025-04-29 14:04 ` Philippe Mathieu-Daudé
2025-01-17 9:24 ` Thomas Huth
2025-01-15 23:22 ` [PATCH 18/21] hw/scsi/vmw_pvscsi: Convert DeviceRealize -> InstanceInit Philippe Mathieu-Daudé
2025-01-16 10:19 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 19/21] hw/net/vmxnet3: Remove VMXNET3_COMPAT_FLAG_OLD_MSI_OFFSETS definition Philippe Mathieu-Daudé
2025-01-16 10:19 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 20/21] hw/net/vmxnet3: Remove VMXNET3_COMPAT_FLAG_DISABLE_PCIE definition Philippe Mathieu-Daudé
2025-01-16 10:20 ` Daniel P. Berrangé
2025-01-15 23:22 ` [PATCH 21/21] hw/net/vmxnet3: Merge DeviceRealize in InstanceInit Philippe Mathieu-Daudé
2025-01-16 10:20 ` Daniel P. Berrangé
2025-01-17 10:37 ` [PATCH 00/21] hw/i386/pc: Remove deprecated 2.4 and 2.5 PC machines Michael S. Tsirkin
2025-01-17 16:46 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z4jYGbenC4UZKKp8@redhat.com \
--to=berrange@redhat.com \
--cc=dmitry.fleytman@gmail.com \
--cc=eduardo@habkost.net \
--cc=fam@euphon.net \
--cc=hreitz@redhat.com \
--cc=jasowang@redhat.com \
--cc=jsnow@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=wangyanan55@huawei.com \
--cc=zhao1.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.