From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 633E3A0547; Tue, 19 Oct 2021 21:06:08 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 48F1F40683; Tue, 19 Oct 2021 21:06:08 +0200 (CEST) Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by mails.dpdk.org (Postfix) with ESMTP id EDB8940150 for ; Tue, 19 Oct 2021 21:06:06 +0200 (CEST) Received: by mail-lf1-f46.google.com with SMTP id j21so9858657lfe.0 for ; Tue, 19 Oct 2021 12:06:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=QuPWAenYMWFttCfacei1Yz0gDVVy08Uhzu+gWFXUN6Q=; b=EYfyxr7EdvO8V0kcy8NUEv8GE1S97xW4tAvyH2WGNrz+F29mBxbAHFZd1gqjPalCC+ zdNUjxgCoGygMXpipPt83+A1VtcJMQtuWMxYGgSz6+WTYYVQuXIycLOiehvi+VgzNgSO RVB7DwxnxNqS37sPoIR3vH+l+8j+Yq7g5jAqDW6R5S2W6hxSVEn6lJK7t+Wpc9O0Etfi G6ZZBugVrR8o308FEEE86zcu2KdGhWMAJuGOg17wB0nSJ998X0bf4QAcPvq/9DnYzF5V pTaOQ60IgTeLlFObGoHkRWwNjvwiACSuzzg5Elt+dya3apbv5GqJJZWetmhBSEyOKm1d iSjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=QuPWAenYMWFttCfacei1Yz0gDVVy08Uhzu+gWFXUN6Q=; b=6qfEDdWxGUfN7cf4wVmc9uyselXciasvoC2scLDr3J1OBRII4bcAkX3Lj2tqgCu/rZ sT/YJgfti2m7WMOfsmg9QFXBvsH0NGBCOkLtrScV9PSPlrkrQUWfktKz4E4OS5DbamC9 zF/xmo3hxqlXw5ktrf4kPERosKJh5ZqvyaDWEPGSzSY7wGxbXmcGF1QH+1TnyNfNg141 IiwFoIeAgXwCH4JqaxUHDIbu7DVtE7/RRGi0fmlfHBSpJHX58HeFCHASMB/WiW32CmSN AW6iUC+YvnekgF+oCBjt/bl7mgIltlvHIu4wylM8hChTVt6ZPApmPmQ1xXQhc5o3tnSR 8CZg== X-Gm-Message-State: AOAM533cXPf74vnnx3LUz3xRPA6Dqp0JFbZNxSz0+MFwk5inEGn+HSaj nE/xKxusfvQb6FdH5gXdST+8dnaqH3GwrP55Ph1YuLca X-Google-Smtp-Source: ABdhPJwVbxpzZoXPiai5F3XxBfeFDPlR2uyrJi1Qhbhm5FxMI+tcCOb9ieqLaawnqLmBUo/dG4kf+9SHRbHr9/OwvLU= X-Received: by 2002:a05:6512:2241:: with SMTP id i1mr7494288lfu.611.1634670365941; Tue, 19 Oct 2021 12:06:05 -0700 (PDT) MIME-Version: 1.0 References: <20211008135346.875-1-u9012063@gmail.com> <20211009163103.297-1-u9012063@gmail.com> In-Reply-To: <20211009163103.297-1-u9012063@gmail.com> From: William Tu Date: Tue, 19 Oct 2021 12:05:29 -0700 Message-ID: To: dpdk-dev , Thomas Monjalon Cc: Haiyue Wang , Pallavi Kadam , Dmitry Kozlyuk Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v3] net/e1000: build on Windows X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Thomas, Can we apply this patch? Thanks William On Sat, Oct 9, 2021 at 9:32 AM William Tu wrote: > > This patch enables building the e1000 driver for Windows. > I tested using two Windows VM on top of VMware Fusion, > creating two e1000 devices with device ID 0x10D3 (8274L), > verifying rx/tx works correctly using dpdk-testpmd.exe > rxonly and txonly mode. > > Signed-off-by: William Tu > Acked-by: Haiyue Wang > Acked-by: Pallavi Kadam > Tested-by: Dmitry Kozlyuk > Tested-by: Pallavi Kadam > --- > v3: > * Add acked and tested by tags > * @Dmitry: I think it's better keep the doc for > people to reference NetUIO setup. > * I will send corresponding netuio device id patch > to dpdk-kmods > > A short demo: > https://youtu.be/UZ9hm2jQa2Y > Example when running: > PS C:\dpdk> .\build\app\dpdk-testpmd.exe > EAL: Detected CPU lcores: 4 > EAL: Detected NUMA nodes: 1 > EAL: Multi-process support is requested, but not available. > EAL: WARNING: TSC frequency estimated roughly - clock timings may be less accurate. > EAL: Probe PCI driver: net_e1000_em (8086:10d3) device: 0000:03:00.0 (socket 0) > EAL: Requested device 0000:1b:00.0 cannot be used > testpmd: create a new mbuf pool : n=171456, size=2176, socket=0 > testpmd: preferred mempool ops selected: ring_mp_mc > > Warning! port-topology=paired and odd forward ports number, the last port will p > air with itself. > Configuring Port 0 (socket 0) > Port 0: 00:50:56:3A:4D:A6 > Checking link statuses... > Done > No commandline core given, start packet forwarding > allocation mode: native > Logical Core 1 (socket 0) forwards packets on 1 streams: > RX P=0/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00 > > io packet forwarding packets/burst=32 > nb forwarding cores=1 - nb forwarding ports=1 > port 0: RX queue number: 1 Tx queue number: 1 > Rx offloads=0x0 Tx offloads=0x0 > RX queue: 0 > RX desc=256 - RX free threshold=0 > TX desc=256 - TX free threshold=32 > TX offloads=0x0 - TX RS bit threshold=32 > Press enter to exit > > Telling cores to stop... > Waiting for lcores to finish... > > ---------------------- Forward statistics for port 0 ------------------ > RX-packets: 40361 RX-dropped: 0 RX-total: 40361 > TX-packets: 40616 TX-dropped: 0 TX-total: 40616 > ------------------------------------------------------------------------ > > +++++++++++++++ Accumulated forward statistics for all ports+++++++++++ > RX-packets: 40361 RX-dropped: 0 RX-total: 40361 > TX-packets: 40616 TX-dropped: 0 TX-total: 40616 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > -- > --- > doc/guides/nics/e1000em.rst | 13 +++++++++++++ > doc/guides/nics/features/e1000.ini | 1 + > doc/guides/rel_notes/release_21_11.rst | 4 ++++ > drivers/net/e1000/base/e1000_osdep.h | 2 ++ > drivers/net/e1000/e1000_ethdev.h | 1 + > drivers/net/e1000/meson.build | 6 ------ > 6 files changed, 21 insertions(+), 6 deletions(-) > > diff --git a/doc/guides/nics/e1000em.rst b/doc/guides/nics/e1000em.rst > index 041c9a09a3a5..03ae23838bfa 100644 > --- a/doc/guides/nics/e1000em.rst > +++ b/doc/guides/nics/e1000em.rst > @@ -1,6 +1,8 @@ > .. SPDX-License-Identifier: BSD-3-Clause > Copyright(c) 2010-2014 Intel Corporation. > > +.. include:: > + > Driver for VM Emulated Devices > ============================== > > @@ -153,3 +155,14 @@ The following are known limitations: > #. Qemu e1000 only supports one interrupt source, so link and Rx interrupt should be exclusive. > > #. Qemu e1000 does not support interrupt auto-clear, application should disable interrupt immediately when woken up. > + > +Windows Configuration > +--------------------- > + > +- Follow the :doc:`guide for Windows <../windows_gsg/run_apps>` > + to setup the basic DPDK environment. > + > +- Identify the Intel\ |reg| Ethernet adapter. > + > +- To load NetUIO driver, follow the steps mentioned in `dpdk-kmods repository > + `_. > diff --git a/doc/guides/nics/features/e1000.ini b/doc/guides/nics/features/e1000.ini > index 5af6040e375b..b33f5a86e2e9 100644 > --- a/doc/guides/nics/features/e1000.ini > +++ b/doc/guides/nics/features/e1000.ini > @@ -27,6 +27,7 @@ Tx descriptor status = Y > Basic stats = Y > FreeBSD = Y > Linux = Y > +Windows = Y > x86-32 = Y > x86-64 = Y > > diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst > index efeffe37a0e2..e4a092e562e3 100644 > --- a/doc/guides/rel_notes/release_21_11.rst > +++ b/doc/guides/rel_notes/release_21_11.rst > @@ -73,6 +73,10 @@ New Features > * Implement support for tunnel offload. > * Updated HWRM API to version 1.10.2.44 > > +* **Updated Intel e1000 emulated driver.** > + > + * Added Intel e1000 support on Windows. > + > * **Updated Intel iavf driver.** > > * Added Intel iavf support on Windows. > diff --git a/drivers/net/e1000/base/e1000_osdep.h b/drivers/net/e1000/base/e1000_osdep.h > index 94a49f340446..cd90228cef59 100644 > --- a/drivers/net/e1000/base/e1000_osdep.h > +++ b/drivers/net/e1000/base/e1000_osdep.h > @@ -34,7 +34,9 @@ > #define DEBUGOUT6(S, args...) DEBUGOUT(S, ##args) > #define DEBUGOUT7(S, args...) DEBUGOUT(S, ##args) > > +#ifndef UNREFERENCED_PARAMETER > #define UNREFERENCED_PARAMETER(_p) > +#endif > #define UNREFERENCED_1PARAMETER(_p) > #define UNREFERENCED_2PARAMETER(_p, _q) > #define UNREFERENCED_3PARAMETER(_p, _q, _r) > diff --git a/drivers/net/e1000/e1000_ethdev.h b/drivers/net/e1000/e1000_ethdev.h > index 3b4d9c3ee6f4..613b81f03092 100644 > --- a/drivers/net/e1000/e1000_ethdev.h > +++ b/drivers/net/e1000/e1000_ethdev.h > @@ -6,6 +6,7 @@ > #define _E1000_ETHDEV_H_ > > #include > +#include > > #include > #include > diff --git a/drivers/net/e1000/meson.build b/drivers/net/e1000/meson.build > index c5e48c6bc7fc..296ec25f2ce7 100644 > --- a/drivers/net/e1000/meson.build > +++ b/drivers/net/e1000/meson.build > @@ -1,12 +1,6 @@ > # SPDX-License-Identifier: BSD-3-Clause > # Copyright(c) 2017 Intel Corporation > > -if is_windows > - build = false > - reason = 'not supported on Windows' > - subdir_done() > -endif > - > subdir('base') > objs = [base_objs] > > -- > 2.33.0.windows.2 >