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 A5E9143086; Thu, 17 Aug 2023 00:23:57 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9FA23410EE; Thu, 17 Aug 2023 00:23:57 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id E8170410EE for ; Thu, 17 Aug 2023 00:23:55 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1086) id 2DE81211F617; Wed, 16 Aug 2023 15:23:55 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 2DE81211F617 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1692224635; bh=5x6fcaIxZaXuGy9XtpvfNuAOKoagWbZ56ZBxhsH/spo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jpJFgrf5CBMUkaKZS8xSHTx5wvIlRFNi4D9yg0ftkgHjGyOTayrUBFAHb+78h8FhT VBAoLPFpPW6iMmGVPqDum1p0Xq/IbflxsxVOFfS1/vdSD89aB8qmCD1TmB83L1zni/ sJPCPPIxNNdUycccyXgScWqDakhvLjC3WFYstepE= From: Tyler Retzlaff To: web@dpdk.org Cc: thomas@monjalon.net, Tyler Retzlaff Subject: [PATCH v2] update Microsoft roadmap for 23.11 Date: Wed, 16 Aug 2023 15:23:53 -0700 Message-Id: <1692224633-7896-1-git-send-email-roretzla@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1677525232-17905-1-git-send-email-roretzla@linux.microsoft.com> References: <1677525232-17905-1-git-send-email-roretzla@linux.microsoft.com> X-BeenThere: web@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK website maintenance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: web-bounces@dpdk.org Originally announced in dpdk-dev mailing list: http://mails.dpdk.org/archives/dev/2023-February/262027.html Details revised technical board meeting 2023/02/22 http://mails.dpdk.org/archives/dev/2023-February/263516.html Signed-off-by: Tyler Retzlaff --- content/roadmap/windows.md | 86 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/content/roadmap/windows.md b/content/roadmap/windows.md index 0a4c38a..dd3d06f 100644 --- a/content/roadmap/windows.md +++ b/content/roadmap/windows.md @@ -38,12 +38,98 @@ This list is obviously neither complete nor guaranteed. {{% /notice %}} +#### Bringing support for Microsoft Visual Studio on Windows + +Starting with release 23.11 integration will begin to formally support +the Microsoft Visual Studio toolset. Patches will be introduced that +incrementally phase in full support of the core DPDK libraries, the DPDK +unit tests and drivers. + +The following is a draft plan of work targeting the 23.11 release. The +plan is subject to change depending on delays and discussions from the +review process. Contributions toward this plan from the community are +welcome. + +1. meson.build Changes + +Meson does not fully abstract away command line arguments to toolchains +so an initial series is available that unblocks the use of MSVC. This +change is pre-requisite to undertake subsequent steps. + +http://patches.dpdk.org/project/dpdk/list/?series=26662 + +2. MSVC CI Pipeline Prerequisite + +Enablement of the DPDK CI pipeline is fundamental to efficiently +progressing porting work for the MSVC toolset. A minimal patch series +will be supplied to build the kvargs and telemetry libraries only. + +3. MSVC CI Pipeline Bootstrap + +With (2) complete work will be done to onboard CI pipeline for the MSVC +toolset. Initially the pipeline will only guarantee compilation but as +additional libraries and tests are ported will also allow execution of +the DPDK unit tests. + +4. MSVC EAL porting + +EAL is pre-requisite for porting all other libraries, drivers and unit +tests. Porting of EAL will be broken down into multiple-patch series to +address & decouple from the toolchain intrinsics topic. + +Beginning with the DPDK 23.11 release a new option enable_stdatomic will +be introduced to allow DPDK toolchain platform combinations to be built +with or without C11 stdatomic.h. The use of either the standard atomics +or traditional builtin intrinsics will be placed behind a thin macro +based abstraction in the rte_ namespace. + +5. Unit Test Library Porting + +In addition to EAL there are several libraries required for the basic +DPDK unit test harness. Multiple series will be submitted to port the +appropriate libraries to allow the harness to be invoked. + +6. Unit Test Enablement + +Fundamental unit tests (typically those testing EAL functionality) will +be ported to MSVC. For tests that depend only on EAL this is not expected +to require code change but is just re-enabling compilation of the tests +allowing them to be built and run. + +7. MSVC CI Pipeline Test Enablement + +With initial DPDK unit tests building & passing the CI pipeline will be +updated to run the unit tests. + +8. Driver Porting + +Candidate drivers will be selected from the set currently built with +clang. Multiple series will be submitted (probably per-driver) with +changes to port to MSVC. + +Nearing the 23.11 release timeframe the plan will be reviewed to +understand and schedule porting work beyond the 23.11 release. + +#### Kernel Mode Drivers + +Concurrent work is in progress by Microsoft to provide functionality +by the netuio driver for use by DPDK PMDs in the next release of +Windows. + +Partners and providers of hardware & PMDs will be able to use the +WHQL certification process to sign driver packages containing PMDs +that utilize netuio functionality. For more information visit the +following links. +https://learn.microsoft.com/en-us/windows-hardware/drivers/install/whql-release-signature +https://learn.microsoft.com/en-us/previous-versions/windows/hardware/hck/jj124227(v=vs.85) + #### General Availability * Ability to install and consume user-space static build - [Meson 0.58+ issue](https://github.com/mesonbuild/meson/issues/8981) - [pkg-config file for Npcap](https://github.com/nmap/npcap/issues/299) * [Working user-space shared build (DLL)][dll] + - Will be addressed as a part of Microsoft Visual Studio compiler support * Process, pipeline, and download area for signed builds of kernel-mode drivers - virt2phys security hardening -- 1.8.3.1