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 BB57F460B1; Tue, 28 Jan 2025 22:17:19 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5F392402E7; Tue, 28 Jan 2025 22:17:17 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id A60C0402D4 for ; Tue, 28 Jan 2025 22:17:14 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1213) id A2D96203718A; Tue, 28 Jan 2025 13:17:13 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com A2D96203718A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1738099033; bh=2B65J1iUQ4VFkrHF1ZBvADGXtLJomG+g2lR7QOHqHis=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ar2lg3mUz5p9lKOEOjwVgGv0o1168M9iJRhdlH6XN6fvMs1Jj0MEoBXX+VfylfEBU oPQZGkWDFX0NLo6eMaqSk5hvtt9UocqmKBb9bA6nC6q73pUdDjW/wjczKB5y/XLc3c xVRVgdME10xUZA2hscV05K1VaaiifzbV2R11H5gg= From: Andre Muezerie To: andremue@linux.microsoft.com Cc: dev@dpdk.org, david.marchand@redhat.com Subject: [PATCH v2 0/2] enable build of lib/stack when using MSVC Date: Tue, 28 Jan 2025 13:16:52 -0800 Message-Id: <1738099014-16629-1-git-send-email-andremue@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1733848355-19048-1-git-send-email-andremue@linux.microsoft.com> References: <1733848355-19048-1-git-send-email-andremue@linux.microsoft.com> X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org MSVC does not support inline assembly, which is used by the implementation of rte_atomic128_cmp_exchange and is needed by the C11 flavor of lib/stack. A special implementation of rte_atomic128_cmp_exchange compatible with MSVC is added to rte_stack_lf_c11.h. It uses an intrinsic function when using MSVC, and inline assembly when other compilers are used. Existing atomic tests (which are not C11 compatible) are now skipped when using MSVC. v2: * Added MSVC compatible implementation of rte_atomic128_cmp_exchange * Skipped non-C11 atomic tests when using MSVC Andre Muezerie (2): test: disable non-C11 atomic tests for MSVC stack: enable build with MSVC app/test/test_atomic.c | 2 ++ lib/stack/meson.build | 6 ---- lib/stack/rte_stack_lf_c11.h | 62 ++++++++++++++++++++++++++++++++++-- 3 files changed, 62 insertions(+), 8 deletions(-) -- 2.47.2.vfs.0.1