Message ID | 20200620210511.13134-1-dmitry.kozliuk@gmail.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5D45AA051C; Sat, 20 Jun 2020 23:05:21 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A04401BFB1; Sat, 20 Jun 2020 23:05:20 +0200 (CEST) Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) by dpdk.org (Postfix) with ESMTP id 271271BFAE for <dev@dpdk.org>; Sat, 20 Jun 2020 23:05:19 +0200 (CEST) Received: by mail-lj1-f196.google.com with SMTP id n23so15245028ljh.7 for <dev@dpdk.org>; Sat, 20 Jun 2020 14:05:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=PR6v9EsWsix4dFc8R8cPect1EpTYk/hheGBzO1NA9yQ=; b=BLRcI6E6S4rgHjM38nUSt6kBXyjoMxppsgyLf1oRdnQSCwr5WT1C1dIJww/wEQ7KRD 2RpF9c9hyTm+0xVCXhdhHNSEQt/TQfVwiOcPpLWqsQAsmZfkdkqvnvKGoj8J9mZG2PXx ZgmBeEBeOOjZzLteorNdIH/iQOamjBfe4ClxlNZMDCZAbSTIi+ILUd1zlbmcY/PRwUdc WmtkR4fhMShZMyP0atlWVqhQIYHxi0BQraF3pK332k77ISIjwCHDsGjxLTKsV9mrLdsx z1SmKmPS2BcJDNyHfe6mB/whIZ/Vh5UZHHYGRnVfdN1cCdbvZFGuVNM6RDZPdNxGqf/C Yu/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=PR6v9EsWsix4dFc8R8cPect1EpTYk/hheGBzO1NA9yQ=; b=KqIe3+l1u6mvh61p5zU32lBoNxK2156JHmFiHE50UfZGOCPS1Eo8ltSX7cAP+kR5Dh 1ywPX25nVB8gQfv2o4QukrU/tyLEKTqEK4GmH3OtcunP1eCZLs3vg/G1qsW95JuyR4y/ vTP2g+m4hogwwNixpug7uXzgk82xKMkw9xDMqdEheqXZnO6e0v4x23HeVE79+EM9tD82 RGE99MgHYvxBySV7beKQE6zmmrC3s/SxPoSofGaV0bL/X2Gkn2JWMOCY81eXreTSfbuC M0ZzC/WgBS1mRGC4k5CvLfULvRylpGGw5GeqX4i5jeuja0VVIAqWtmZTh2j2UdWzLIfj j5zg== X-Gm-Message-State: AOAM5335tasRVKwv9BNmD05N6PQTnMrEULJtMPDTVcaZTD/l7hgsXIv7 YxGYE5Y7sv5H37bw05E36wRNe2n34VoPAA== X-Google-Smtp-Source: ABdhPJx8jKLIzEUT8hFAbyS+Q+varThyQpGLz8Ot2S/mTsMTqQk8FYyzfzPyACnc+qAMDqIObr8+mg== X-Received: by 2002:a2e:870f:: with SMTP id m15mr4724730lji.392.1592687118461; Sat, 20 Jun 2020 14:05:18 -0700 (PDT) Received: from localhost.localdomain (broadband-37-110-65-23.ip.moscow.rt.ru. [37.110.65.23]) by smtp.gmail.com with ESMTPSA id d8sm2653359lfk.27.2020.06.20.14.05.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Jun 2020 14:05:17 -0700 (PDT) From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> To: dev@dpdk.org Cc: Dmitry Malloy <dmitrym@microsoft.com>, Narcisa Ana Maria Vasile <Narcisa.Vasile@microsoft.com>, Fady Bader <fady@mellanox.com>, Tal Shnaiderman <talshn@mellanox.com>, Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Date: Sun, 21 Jun 2020 00:05:03 +0300 Message-Id: <20200620210511.13134-1-dmitry.kozliuk@gmail.com> X-Mailer: git-send-email 2.25.4 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 0/7] cmdline: support Windows X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
cmdline: support Windows
|
|
Message
Dmitry Kozlyuk
June 20, 2020, 9:05 p.m. UTC
This patchset enables librte_cmdline on Windows. To do that, it creates a number of wrappers for OS-dependent terminal handling and I/O. Considered alternative was to revive [1] and use libedit (Unix-only) for terminal handling. However, testing revealed that WinEditLine [2] is not a drop-in replacement for libedit, so this solution wouldn't be universal. Note: not all dependency series are up-to-date at the time of submission, so this version may require hacking to test. [1]: http://patchwork.dpdk.org/patch/38561 [2]: http://mingweditline.sourceforge.net --- Depends-on: series-10512 ("Windows bus/pci support ") Depends-on: series-10244 ("[v4] eal/windows: ring build on Windows") Depends-on: series-10282 ("build mempool on Windows ") Depends-on: series-10382 ("compile librte_net for windows") Dmitry Kozlyuk (7): cmdline: make implementation opaque cmdline: add internal wrappers for terminal handling cmdline: add internal wrappers for character input cmdline: add internal wrapper for vdprintf eal/windows: improve compatibility networking headers cmdline: support Windows examples/cmdline: build on Windows app/test-cmdline/commands.c | 8 +- app/test/test_cmdline_lib.c | 42 ++-- config/meson.build | 2 + examples/cmdline/commands.c | 1 - examples/cmdline/main.c | 1 - examples/meson.build | 6 +- lib/librte_cmdline/Makefile | 4 + lib/librte_cmdline/cmdline.c | 29 +-- lib/librte_cmdline/cmdline.h | 15 +- lib/librte_cmdline/cmdline_os_unix.c | 53 +++++ lib/librte_cmdline/cmdline_os_windows.c | 207 ++++++++++++++++++++ lib/librte_cmdline/cmdline_parse.c | 4 +- lib/librte_cmdline/cmdline_private.h | 61 ++++++ lib/librte_cmdline/cmdline_socket.c | 25 +-- lib/librte_cmdline/cmdline_vt100.c | 1 - lib/librte_cmdline/cmdline_vt100.h | 4 + lib/librte_cmdline/meson.build | 6 + lib/librte_cmdline/rte_cmdline_version.map | 8 + lib/librte_eal/windows/include/arpa/inet.h | 30 +++ lib/librte_eal/windows/include/netinet/in.h | 11 ++ lib/librte_eal/windows/include/pthread.h | 2 +- lib/librte_eal/windows/include/sys/socket.h | 24 +++ lib/meson.build | 1 + 23 files changed, 470 insertions(+), 75 deletions(-) create mode 100644 lib/librte_cmdline/cmdline_os_unix.c create mode 100644 lib/librte_cmdline/cmdline_os_windows.c create mode 100644 lib/librte_cmdline/cmdline_private.h create mode 100644 lib/librte_eal/windows/include/arpa/inet.h create mode 100644 lib/librte_eal/windows/include/sys/socket.h
Comments
On Sun, Jun 21, 2020 at 12:05:03AM +0300, Dmitry Kozlyuk wrote: > This patchset enables librte_cmdline on Windows. To do that, it creates > a number of wrappers for OS-dependent terminal handling and I/O. > Considered alternative was to revive [1] and use libedit (Unix-only) > for terminal handling. However, testing revealed that WinEditLine [2] > is not a drop-in replacement for libedit, so this solution wouldn't be > universal. > > Note: not all dependency series are up-to-date at the time of > submission, so this version may require hacking to test. > > [1]: http://patchwork.dpdk.org/patch/38561 > [2]: http://mingweditline.sourceforge.net > > --- > Depends-on: series-10512 ("Windows bus/pci support ") > Depends-on: series-10244 ("[v4] eal/windows: ring build on Windows") > Depends-on: series-10282 ("build mempool on Windows ") > Depends-on: series-10382 ("compile librte_net for windows") > Tested-by: Narcisa Vasile <navasile@linux.microsoft.com> Compiled with mingw and tested using the sample cmdline app. With clang (9.0.0), I'm getting the "conflicting types for '_m_prefetchw'" error, given the dependency on librte_net patch.
Hi Dmitry, On 6/20/2020 2:05 PM, Dmitry Kozlyuk wrote: > This patchset enables librte_cmdline on Windows. To do that, it creates > a number of wrappers for OS-dependent terminal handling and I/O. > Considered alternative was to revive [1] and use libedit (Unix-only) > for terminal handling. However, testing revealed that WinEditLine [2] > is not a drop-in replacement for libedit, so this solution wouldn't be > universal. > > Note: not all dependency series are up-to-date at the time of > submission, so this version may require hacking to test. > > [1]: http://patchwork.dpdk.org/patch/38561 > [2]: http://mingweditline.sourceforge.net > > --- > Depends-on: series-10512 ("Windows bus/pci support ") > Depends-on: series-10244 ("[v4] eal/windows: ring build on Windows") > Depends-on: series-10282 ("build mempool on Windows ") > Depends-on: series-10382 ("compile librte_net for windows") > > Dmitry Kozlyuk (7): > cmdline: make implementation opaque > cmdline: add internal wrappers for terminal handling > cmdline: add internal wrappers for character input > cmdline: add internal wrapper for vdprintf > eal/windows: improve compatibility networking headers > cmdline: support Windows > examples/cmdline: build on Windows > > app/test-cmdline/commands.c | 8 +- > app/test/test_cmdline_lib.c | 42 ++-- > config/meson.build | 2 + > examples/cmdline/commands.c | 1 - > examples/cmdline/main.c | 1 - > examples/meson.build | 6 +- > lib/librte_cmdline/Makefile | 4 + > lib/librte_cmdline/cmdline.c | 29 +-- > lib/librte_cmdline/cmdline.h | 15 +- > lib/librte_cmdline/cmdline_os_unix.c | 53 +++++ > lib/librte_cmdline/cmdline_os_windows.c | 207 ++++++++++++++++++++ > lib/librte_cmdline/cmdline_parse.c | 4 +- > lib/librte_cmdline/cmdline_private.h | 61 ++++++ > lib/librte_cmdline/cmdline_socket.c | 25 +-- > lib/librte_cmdline/cmdline_vt100.c | 1 - > lib/librte_cmdline/cmdline_vt100.h | 4 + > lib/librte_cmdline/meson.build | 6 + > lib/librte_cmdline/rte_cmdline_version.map | 8 + > lib/librte_eal/windows/include/arpa/inet.h | 30 +++ > lib/librte_eal/windows/include/netinet/in.h | 11 ++ > lib/librte_eal/windows/include/pthread.h | 2 +- > lib/librte_eal/windows/include/sys/socket.h | 24 +++ > lib/meson.build | 1 + > 23 files changed, 470 insertions(+), 75 deletions(-) > create mode 100644 lib/librte_cmdline/cmdline_os_unix.c > create mode 100644 lib/librte_cmdline/cmdline_os_windows.c > create mode 100644 lib/librte_cmdline/cmdline_private.h > create mode 100644 lib/librte_eal/windows/include/arpa/inet.h > create mode 100644 lib/librte_eal/windows/include/sys/socket.h > Will this series be rebased with the latest in order to apply it cleanly? Thanks,