X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fwindows_gsg%2Frun_apps.rst;h=08f110d0b55d17cc90bed62b602a47a19a40cc6d;hb=6cc51b1293ceac4a77d4bf7ac91a8bbd59e1f78c;hp=9c9f42e4b18224edd5d1ba71f872fb65064997c1;hpb=c08bd191b13de001bf172e94ed22cb0805a658f2;p=dpdk.git diff --git a/doc/guides/windows_gsg/run_apps.rst b/doc/guides/windows_gsg/run_apps.rst index 9c9f42e4b1..08f110d0b5 100644 --- a/doc/guides/windows_gsg/run_apps.rst +++ b/doc/guides/windows_gsg/run_apps.rst @@ -27,6 +27,52 @@ See `Large-Page Support`_ in MSDN for details. .. _Large-Page Support: https://docs.microsoft.com/en-us/windows/win32/memory/large-page-support +Install Drivers +--------------- + +Certain kernel-mode drivers are required to run DPDK applications. +Refer to `Windows documentation `_ +in ``dpdk-kmods`` repository for common instructions on system setup, +driver build and installation. +The drivers are not signed, so signature enforcement has to be disabled. + +.. warning:: + + Disabling driver signature enforcement weakens OS security. + It is discouraged in production environments. + + +virt2phys +~~~~~~~~~ + +Access to physical addresses is provided by a kernel-mode driver, virt2phys. +It is mandatory for allocating physically-contiguous memory which is required +by hardware PMDs. + +When loaded successfully, the driver is shown in *Device Manager* as *Virtual +to physical address translator* device under *Kernel bypass* category. +Installed driver persists across reboots. + +If DPDK is unable to communicate with the driver, a warning is printed +on initialization (debug-level logs provide more details): + +.. code-block:: text + + EAL: Cannot open virt2phys driver interface + + +NetUIO +~~~~~~ + +NetUIO kernel-mode driver provides access to the device hardware resources. +It is mandatory for all hardware PMDs, except for mlx5 PMD. + +Refer to `NetUIO documentation `_ +in ``dpdk-kmods`` repository for instructions to build and set up the driver. +Devices supported by NetUIO are listed in ``netuio.inf``. +The list can be extended in order to try running DPDK with new devices. + + Run the ``helloworld`` Example ------------------------------ @@ -35,13 +81,8 @@ Navigate to the examples in the build directory and run `dpdk-helloworld.exe`. .. code-block:: console cd C:\Users\me\dpdk\build\examples - dpdk-helloworld.exe + dpdk-helloworld.exe -l 0-3 hello from core 1 hello from core 3 hello from core 0 hello from core 2 - -Note for MinGW-w64: applications are linked to ``libwinpthread-1.dll`` -by default. To run the example, either add toolchain executables directory -to the PATH or copy the library to the working directory. -Alternatively, static linking may be used (mind the LGPLv2.1 license).