From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 95BBAA0C47;
	Tue, 12 Oct 2021 17:55:16 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 4ED39411C2;
	Tue, 12 Oct 2021 17:55:03 +0200 (CEST)
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2052.outbound.protection.outlook.com [40.107.236.52])
 by mails.dpdk.org (Postfix) with ESMTP id 99CD2411BE
 for <dev@dpdk.org>; Tue, 12 Oct 2021 17:55:01 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aPNWmF+jZQsSGuYqjtzfcXXmQmy0xHLpNv2Es5OHzNdjTq6UWCykof3AQTIuHUxYHX5zinFyxK2kD7/xldVYu6+iMiarQonGYjiQ3zfLQ4IB1SWqwc51nvEIjA1Oi5aTWElIVKw0+0A9X+W+3NlkT7UEA2y3YC/1qPjGRbTrvKbcpGAUT4L0jk49eB+rI5EvHV2TnM3Co68bquDWAGNxhfVVLvSbad9ILVJbaeccFgw+nhvL8o+uhKZg/j+FAwMSDZer31zIZQ2Mrj/IbrBG4ai+VLKnyrSRfInsP5yAIyhQb8SUb151ncGtSodi4b7AvPt0ekIXipGpWgWd/BMfAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yyD6W2CrZoP+GgQ5n9jgjmHO8ios/F74Weh2VshDGr0=;
 b=D6NlIF6bymglNZb1ugN1Wkb7tS9VDqvjNQv9sQ2X7hhq8h+oHsf0WtdNXzV7IW34FYMnPxSDGrYo9jmWrEcko6s08P7r0DQjrOdbnHIPfvFEDSteYAQmsuqYYfPclvMHoGeSKC4wSUHncRPoMJywbUvOprrPuX4fbmkKlfd66qQvXAAUbVC3h01mvgmigqAO+miZyOb+VukBGqbDPNdFEmYkQ2Oes5DCxj8oUarxMHPUqAr5Wd3D3qD9Gv3/JqFWcjL8k6ciPbTpGZdooSz+kuEVY+MhEBpespMGMbOytbDbw4aFmROZIH2DqcO/KOpBPsodlqaqx4nKeIPPvNAMng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 216.228.112.34) smtp.rcpttodomain=marvell.com smtp.mailfrom=nvidia.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=nvidia.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yyD6W2CrZoP+GgQ5n9jgjmHO8ios/F74Weh2VshDGr0=;
 b=J9O1D4ikU7A2EtfZ3URXGHRcp7s428W2ylMJZfq1wzL6bjZszIgAhz44YMbaDVM9ixcNVip3gnHWShe53ofF2mykXRdeTzzlfhq1vv+WZPH7XZkiMYJJEuM5VTQ8rKiWXJDRf5z/HT9oBl9rD0jarz7SrakrgpsUv1VHsC7RV9Lee3OPsWAUQigPAYpPjJzUmxG1EhHaD61lrUWrXhznFXArtFrKoARBuJ0EMBrUdn1ZWThURbUwFpAqsZAiNjBNOL8X7dzonzJclQ1jSf11AmOfhFtv1XB5SlZcHkilbL+lfhiz9iVPRi49WY258C037x7Bo+96xSAWCvh9mjorVg==
Received: from DM6PR18CA0016.namprd18.prod.outlook.com (2603:10b6:5:15b::29)
 by DM6PR12MB4561.namprd12.prod.outlook.com (2603:10b6:5:2ac::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.24; Tue, 12 Oct
 2021 15:54:59 +0000
Received: from DM6NAM11FT005.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:15b:cafe::70) by DM6PR18CA0016.outlook.office365.com
 (2603:10b6:5:15b::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.14 via Frontend
 Transport; Tue, 12 Oct 2021 15:54:59 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34)
 smtp.mailfrom=nvidia.com; marvell.com; dkim=none (message not signed)
 header.d=none;marvell.com; dmarc=pass action=none header.from=nvidia.com;
Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates
 216.228.112.34 as permitted sender) receiver=protection.outlook.com;
 client-ip=216.228.112.34; helo=mail.nvidia.com;
Received: from mail.nvidia.com (216.228.112.34) by
 DM6NAM11FT005.mail.protection.outlook.com (10.13.172.238) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id
 15.20.4587.18 via Frontend Transport; Tue, 12 Oct 2021 15:54:59 +0000
Received: from nvidia.com (172.20.187.6) by HQMAIL107.nvidia.com
 (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Tue, 12 Oct
 2021 15:54:54 +0000
From: Tal Shnaiderman <talshn@nvidia.com>
To: <dev@dpdk.org>
CC: <thomas@monjalon.net>, <matan@nvidia.com>, <rasland@nvidia.com>,
 <asafp@nvidia.com>, <gakhil@marvell.com>, <declan.doherty@intel.com>,
 <viacheslavo@nvidia.com>, <eilong@nvidia.com>
Date: Tue, 12 Oct 2021 18:53:59 +0300
Message-ID: <20211012155359.8908-6-talshn@nvidia.com>
X-Mailer: git-send-email 2.16.1.windows.4
In-Reply-To: <20211012155359.8908-1-talshn@nvidia.com>
References: <20211012155359.8908-1-talshn@nvidia.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [172.20.187.6]
X-ClientProxiedBy: HQMAIL111.nvidia.com (172.20.187.18) To
 HQMAIL107.nvidia.com (172.20.187.13)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: c0165ee8-9d0b-4eb3-9789-08d98d98a507
X-MS-TrafficTypeDiagnostic: DM6PR12MB4561:
X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr
X-Microsoft-Antispam-PRVS: <DM6PR12MB456182AF4B0ED85B809A9F10A4B69@DM6PR12MB4561.namprd12.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:8882;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: ZzCgXmfeSXSqB//yQmPfvd41vlCbbqwFezsY/RVwgPV+QX/nImmzAcWpI0zccpCb2FSTXIQJXEYPObwt9GuRdsrvfXsKot616emx/EucUOpT7AIO2d+9FcLWF7Z8JfNcqzLAAhvRXU3YpScwJ5a/OPYvl0U46EGdYYos/sZzkofqWZky23MImt0H2hqCguYDOBK86xEdUu3YZxhPOTooVcYMW6w/6saXqBf/ClG5kdLLCHpDOS3PxVNsqFSlMLeerzjaZhDZVqPNJ9tNpGjx6ExR9c9B/Kt/kYfFx35Bc8lu+AzMu9bMxeNrwcUqAZs6cj8J0vOlY+PVZOuM4y7Fryjc6Y20zcwym4Uc89bNlCLdyeMoahRVWXufw/GjE/EBfdG/m021fGOhVR1LoTKRNWS3UTKP39AFKPJ0XPjGY/7Em7JsfSiTcoAJa48/n0lhJ5fRgTKd5MO0fsAkcjlFns6iKpQfsB9Cazpdo3bBLmxHv3rJQRmkmwRGLOY2eKdyGoCIVoAjfRSZPI4eqFXJTYdevYBZj2oOEz7nKMnv06D0oWnQF4h7y3a4laiggXcuYbKAsFqRsVyAZC6kNXDqg3UQaqxG6WXLqD9WqzpILVdCc1BFCdZxRKEDFC3CKcvdQHbUFpLSwLfhYIZIyStdTRwSnwmameelShDuaiPeexYOvbdlC2UJM8wzmXpAEx3Audsa7BOnr1uj+y+pYA6NHA==
X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE;
 SFS:(4636009)(36840700001)(46966006)(7696005)(7636003)(26005)(356005)(36860700001)(54906003)(107886003)(508600001)(1076003)(5660300002)(426003)(82310400003)(316002)(6916009)(30864003)(2906002)(83380400001)(86362001)(55016002)(8676002)(47076005)(4326008)(70586007)(70206006)(16526019)(2616005)(6286002)(336012)(186003)(8936002)(36756003);
 DIR:OUT; SFP:1101; 
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2021 15:54:59.0469 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c0165ee8-9d0b-4eb3-9789-08d98d98a507
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34];
 Helo=[mail.nvidia.com]
X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT005.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4561
Subject: [dpdk-dev] [PATCH 5/5] crypto/mlx5: support on Windows
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
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>

Add support for mlx5 crypto pmd on Windows OS.
Add changes to release note and pmd guide.

Signed-off-by: Tal Shnaiderman <talshn@nvidia.com>
---
 doc/guides/cryptodevs/mlx5.rst               | 15 ++++++++++++---
 doc/guides/rel_notes/release_21_11.rst       |  1 +
 drivers/common/mlx5/version.map              |  2 +-
 drivers/common/mlx5/windows/mlx5_common_os.c |  2 +-
 drivers/crypto/aesni_gcm/meson.build         |  6 ++++++
 drivers/crypto/aesni_mb/meson.build          |  6 ++++++
 drivers/crypto/armv8/meson.build             |  6 ++++++
 drivers/crypto/bcmfs/meson.build             |  6 ++++++
 drivers/crypto/ccp/meson.build               |  1 +
 drivers/crypto/kasumi/meson.build            |  6 ++++++
 drivers/crypto/meson.build                   |  3 ---
 drivers/crypto/mlx5/meson.build              |  4 ++--
 drivers/crypto/mvsam/meson.build             |  6 ++++++
 drivers/crypto/null/meson.build              |  6 ++++++
 drivers/crypto/octeontx/meson.build          |  6 ++++++
 drivers/crypto/openssl/meson.build           |  6 ++++++
 drivers/crypto/qat/meson.build               |  6 ++++++
 drivers/crypto/scheduler/meson.build         |  6 ++++++
 drivers/crypto/snow3g/meson.build            |  6 ++++++
 drivers/crypto/virtio/meson.build            |  6 ++++++
 drivers/crypto/zuc/meson.build               |  6 ++++++
 21 files changed, 102 insertions(+), 10 deletions(-)

diff --git a/doc/guides/cryptodevs/mlx5.rst b/doc/guides/cryptodevs/mlx5.rst
index 68bfdf3a83..7338c0c493 100644
--- a/doc/guides/cryptodevs/mlx5.rst
+++ b/doc/guides/cryptodevs/mlx5.rst
@@ -39,12 +39,12 @@ or to access the hardware components directly.
 There are different levels of objects and bypassing abilities.
 To get the best performances:
 
-- Verbs is a complete high-level generic API.
-- Direct Verbs is a device-specific API.
+- Verbs is a complete high-level generic API (Linux only).
+- Direct Verbs is a device-specific API (Linux only).
 - DevX allows to access firmware objects.
 
 Enabling ``librte_crypto_mlx5`` causes DPDK applications
-to be linked against libibverbs.
+to be linked against libibverbs on Linux OS.
 
 In order to move the device to crypto operational mode, credential and KEK
 (Key Encrypting Key) should be set as the first step.
@@ -155,8 +155,17 @@ Limitations
 Prerequisites
 -------------
 
+Linux Prerequisites
+~~~~~~~~~~~~~~~~~~~
+
 - Mellanox OFED version: **5.3**
   see :doc:`../../nics/mlx5` guide for more Mellanox OFED details.
 
 - Compilation can be done also with rdma-core v15+.
   see :doc:`../../nics/mlx5` guide for more rdma-core details.
+
+Windows Prerequisites
+~~~~~~~~~~~~~~~~~~~~~
+
+- Mellanox WINOF-2 version: **2.60** or higher.
+  see :doc:`../../nics/mlx5` guide for more Mellanox WINOF-2 details.
diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
index 84278898b9..17a49c20ef 100644
--- a/doc/guides/rel_notes/release_21_11.rst
+++ b/doc/guides/rel_notes/release_21_11.rst
@@ -135,6 +135,7 @@ New Features
   Updated the Mellanox mlx5 driver with new features and improvements, including:
 
   * Added implicit mempool registration to avoid data path hiccups (opt-out).
+  * Added support for mlx5 crypto PMD on Windows operating system.
 
 
 Removed Items
diff --git a/drivers/common/mlx5/version.map b/drivers/common/mlx5/version.map
index 807043f22c..a30e0f9d12 100644
--- a/drivers/common/mlx5/version.map
+++ b/drivers/common/mlx5/version.map
@@ -16,7 +16,7 @@ INTERNAL {
 	mlx5_dev_mempool_unregister;
 	mlx5_dev_mempool_subscribe;
 
-	mlx5_devx_alloc_uar; # WINDOWS_NO_EXPORT
+	mlx5_devx_alloc_uar;
 
 	mlx5_devx_cmd_alloc_pd;
 	mlx5_devx_cmd_create_conn_track_offload_obj;
diff --git a/drivers/common/mlx5/windows/mlx5_common_os.c b/drivers/common/mlx5/windows/mlx5_common_os.c
index 44e8ebec2b..ea478d7395 100644
--- a/drivers/common/mlx5/windows/mlx5_common_os.c
+++ b/drivers/common/mlx5/windows/mlx5_common_os.c
@@ -202,7 +202,7 @@ mlx5_os_open_device(struct mlx5_common_device *cdev, uint32_t classes)
 	struct mlx5_context *mlx5_ctx = NULL;
 	int n;
 
-	if (classes != MLX5_CLASS_ETH) {
+	if (classes != MLX5_CLASS_ETH && classes != MLX5_CLASS_CRYPTO) {
 		DRV_LOG(ERR,
 			"The chosen classes are not supported on Windows.");
 		rte_errno = ENOTSUP;
diff --git a/drivers/crypto/aesni_gcm/meson.build b/drivers/crypto/aesni_gcm/meson.build
index 0fcac2a8eb..7d0140ff22 100644
--- a/drivers/crypto/aesni_gcm/meson.build
+++ b/drivers/crypto/aesni_gcm/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 IMB_required_ver = '0.52.0'
 lib = cc.find_library('IPSec_MB', required: false)
 if not lib.found()
diff --git a/drivers/crypto/aesni_mb/meson.build b/drivers/crypto/aesni_mb/meson.build
index ed6b9f53e4..b7512383c3 100644
--- a/drivers/crypto/aesni_mb/meson.build
+++ b/drivers/crypto/aesni_mb/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 IMB_required_ver = '0.52.0'
 lib = cc.find_library('IPSec_MB', required: false)
 if not lib.found()
diff --git a/drivers/crypto/armv8/meson.build b/drivers/crypto/armv8/meson.build
index 40a4dbb7bb..5effba8bbc 100644
--- a/drivers/crypto/armv8/meson.build
+++ b/drivers/crypto/armv8/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Arm Limited
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 dep = dependency('libAArch64crypto', required: false, method: 'pkg-config')
 if not dep.found()
     build = false
diff --git a/drivers/crypto/bcmfs/meson.build b/drivers/crypto/bcmfs/meson.build
index d67e78d51b..5842f83a3b 100644
--- a/drivers/crypto/bcmfs/meson.build
+++ b/drivers/crypto/bcmfs/meson.build
@@ -3,6 +3,12 @@
 # All rights reserved.
 #
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 deps += ['eal', 'bus_vdev']
 sources = files(
         'bcmfs_logs.c',
diff --git a/drivers/crypto/ccp/meson.build b/drivers/crypto/ccp/meson.build
index 0f82b9b90b..a4f3406009 100644
--- a/drivers/crypto/ccp/meson.build
+++ b/drivers/crypto/ccp/meson.build
@@ -4,6 +4,7 @@
 if not is_linux
     build = false
     reason = 'only supported on Linux'
+    subdir_done()
 endif
 dep = dependency('libcrypto', required: false, method: 'pkg-config')
 if not dep.found()
diff --git a/drivers/crypto/kasumi/meson.build b/drivers/crypto/kasumi/meson.build
index e6e0f08c3d..966b8a5214 100644
--- a/drivers/crypto/kasumi/meson.build
+++ b/drivers/crypto/kasumi/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018-2020 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 IMB_required_ver = '0.53.0'
 lib = cc.find_library('IPSec_MB', required: false)
 if not lib.found()
diff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build
index ea239f4c56..c49ec501d4 100644
--- a/drivers/crypto/meson.build
+++ b/drivers/crypto/meson.build
@@ -1,9 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-if is_windows
-    subdir_done()
-endif
 
 drivers = [
         'aesni_gcm',
diff --git a/drivers/crypto/mlx5/meson.build b/drivers/crypto/mlx5/meson.build
index 1d6e413dd5..9d9c9c00bc 100644
--- a/drivers/crypto/mlx5/meson.build
+++ b/drivers/crypto/mlx5/meson.build
@@ -1,9 +1,9 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright (c) 2021 NVIDIA Corporation & Affiliates
 
-if not is_linux
+if not (is_linux or is_windows)
     build = false
-    reason = 'only supported on Linux'
+    reason = 'only supported on Linux and Windows'
     subdir_done()
 endif
 
diff --git a/drivers/crypto/mvsam/meson.build b/drivers/crypto/mvsam/meson.build
index fec167bf29..bf3c4323de 100644
--- a/drivers/crypto/mvsam/meson.build
+++ b/drivers/crypto/mvsam/meson.build
@@ -3,6 +3,12 @@
 # Copyright(c) 2018 Semihalf.
 # All rights reserved.
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 dep = dependency('libmusdk', required: false, method: 'pkg-config')
 if not dep.found()
     build = false
diff --git a/drivers/crypto/null/meson.build b/drivers/crypto/null/meson.build
index 1f7d644de1..acc16e7d81 100644
--- a/drivers/crypto/null/meson.build
+++ b/drivers/crypto/null/meson.build
@@ -1,5 +1,11 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 deps += 'bus_vdev'
 sources = files('null_crypto_pmd.c', 'null_crypto_pmd_ops.c')
diff --git a/drivers/crypto/octeontx/meson.build b/drivers/crypto/octeontx/meson.build
index 244b16230e..48e8e263c1 100644
--- a/drivers/crypto/octeontx/meson.build
+++ b/drivers/crypto/octeontx/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Cavium, Inc
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 deps += ['bus_pci']
 deps += ['bus_vdev']
 deps += ['common_cpt']
diff --git a/drivers/crypto/openssl/meson.build b/drivers/crypto/openssl/meson.build
index b21fca0be3..cd962da1d6 100644
--- a/drivers/crypto/openssl/meson.build
+++ b/drivers/crypto/openssl/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 dep = dependency('libcrypto', required: false, method: 'pkg-config')
 if not dep.found()
     build = false
diff --git a/drivers/crypto/qat/meson.build b/drivers/crypto/qat/meson.build
index b3b2d17258..d08a24c7b3 100644
--- a/drivers/crypto/qat/meson.build
+++ b/drivers/crypto/qat/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2018 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 # this does not build the QAT driver, instead that is done in the compression
 # driver which comes later. Here we just add our sources files to the list
 build = false
diff --git a/drivers/crypto/scheduler/meson.build b/drivers/crypto/scheduler/meson.build
index d510f49970..cd18efc791 100644
--- a/drivers/crypto/scheduler/meson.build
+++ b/drivers/crypto/scheduler/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 deps += ['bus_vdev', 'reorder']
 sources = files(
         'rte_cryptodev_scheduler.c',
diff --git a/drivers/crypto/snow3g/meson.build b/drivers/crypto/snow3g/meson.build
index 0c087baa2a..ac4d0354ea 100644
--- a/drivers/crypto/snow3g/meson.build
+++ b/drivers/crypto/snow3g/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019-2020 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 IMB_required_ver = '0.53.0'
 lib = cc.find_library('IPSec_MB', required: false)
 if not lib.found()
diff --git a/drivers/crypto/virtio/meson.build b/drivers/crypto/virtio/meson.build
index 1b6d77f66f..45533c9b89 100644
--- a/drivers/crypto/virtio/meson.build
+++ b/drivers/crypto/virtio/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 HUAWEI TECHNOLOGIES CO., LTD.
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 includes += include_directories('../../../lib/vhost')
 deps += 'bus_pci'
 sources = files(
diff --git a/drivers/crypto/zuc/meson.build b/drivers/crypto/zuc/meson.build
index a5f77a22d8..0a29885610 100644
--- a/drivers/crypto/zuc/meson.build
+++ b/drivers/crypto/zuc/meson.build
@@ -1,6 +1,12 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018-2020 Intel Corporation
 
+if is_windows
+    build = false
+    reason = 'not supported on Windows'
+    subdir_done()
+endif
+
 IMB_required_ver = '0.53.0'
 lib = cc.find_library('IPSec_MB', required: false)
 if not lib.found()
-- 
2.16.1.windows.4