[dpdk-dev] [PATCH v3 02/10] eal/windows: do not expose private EAL facilities
Thomas Monjalon
thomas at monjalon.net
Wed Apr 22 00:40:41 CEST 2020
14/04/2020 21:44, Dmitry Kozlyuk:
> The goal of rte_os.h is to mitigate OS differences for EAL users.
> In Windows EAL, rte_os.h did excessive things:
>
> 1. It included platform SDK headers (windows.h, etc). Those files are
> huge, require specific inclusion order, and are generally unused by
> the code including rte_os.h. Declarations from platform SDK may
> break otherwise platform-independent code, e.g. min, max, ERROR.
>
> 2. It included pthread.h, which is clearly not always required.
>
> 3. It defined functions private to Windows EAL.
>
> Reorganize Windows EAL includes in the following way:
>
> 1. Create rte_windows.h to properly import Windows-specific facilities.
> Primary users are bus drivers, tests, and external applications.
>
> 2. Remove platform SDK includes from rte_os.h to prevent breaking
> otherwise portable code by including rte_os.h on Windows.
> Copy necessary definitions to avoid including those headers.
>
> 3. Remove pthread.h include from rte_os.h.
>
> 4. Move declarations private to Windows EAL into eal_windows.h.
>
> Fixes: 428eb983f5f7 ("eal: add OS specific header file")
>
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>
Applied as a separate patch because it is needed for a patch
fixing compilation on Windows.
More information about the dev
mailing list