[v2] update Microsoft roadmap for 23.11
Commit Message
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 <roretzla@linux.microsoft.com>
---
content/roadmap/windows.md | 86 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
@@ -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