DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: bruce.richardson@intel.com, david.marchand@redhat.com,
	thomas@monjalon.net, mb@smartsharesystems.com,
	konstantin.ananyev@huawei.com,
	Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH v8 10/14] eal: expand most macros to empty when using MSVC
Date: Mon,  1 May 2023 20:15:37 -0700	[thread overview]
Message-ID: <1682997341-2271-11-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1682997341-2271-1-git-send-email-roretzla@linux.microsoft.com>

For now expand a lot of common rte macros empty. The catch here is we
need to test that most of the macros do what they should but at the same
time they are blocking work needed to bootstrap of the unit tests.

Later we will return and provide (where possible) expansions that work
correctly for msvc and where not possible provide some alternate macros
to achieve the same outcome.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
---
 lib/eal/include/rte_branch_prediction.h |  8 +++++
 lib/eal/include/rte_common.h            | 54 +++++++++++++++++++++++++++++++++
 lib/eal/include/rte_compat.h            | 20 ++++++++++++
 3 files changed, 82 insertions(+)

diff --git a/lib/eal/include/rte_branch_prediction.h b/lib/eal/include/rte_branch_prediction.h
index 0256a9d..1eff9f6 100644
--- a/lib/eal/include/rte_branch_prediction.h
+++ b/lib/eal/include/rte_branch_prediction.h
@@ -25,7 +25,11 @@
  *
  */
 #ifndef likely
+#ifndef RTE_TOOLCHAIN_MSVC
 #define likely(x)	__builtin_expect(!!(x), 1)
+#else
+#define likely(x)	(!!(x))
+#endif
 #endif /* likely */
 
 /**
@@ -39,7 +43,11 @@
  *
  */
 #ifndef unlikely
+#ifndef RTE_TOOLCHAIN_MSVC
 #define unlikely(x)	__builtin_expect(!!(x), 0)
+#else
+#define unlikely(x)	(!!(x))
+#endif
 #endif /* unlikely */
 
 #ifdef __cplusplus
diff --git a/lib/eal/include/rte_common.h b/lib/eal/include/rte_common.h
index 2f464e3..0c55a23 100644
--- a/lib/eal/include/rte_common.h
+++ b/lib/eal/include/rte_common.h
@@ -41,6 +41,10 @@
 #define RTE_STD_C11
 #endif
 
+#ifdef RTE_TOOLCHAIN_MSVC
+#define __extension__
+#endif
+
 /*
  * RTE_TOOLCHAIN_GCC is defined if the target is built with GCC,
  * while a host application (like pmdinfogen) may have another compiler.
@@ -65,7 +69,11 @@
 /**
  * Force alignment
  */
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_aligned(a) __attribute__((__aligned__(a)))
+#else
+#define __rte_aligned(a)
+#endif
 
 #ifdef RTE_ARCH_STRICT_ALIGN
 typedef uint64_t unaligned_uint64_t __rte_aligned(1);
@@ -80,16 +88,29 @@
 /**
  * Force a structure to be packed
  */
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_packed __attribute__((__packed__))
+#else
+#define __rte_packed
+#endif
 
 /**
  * Macro to mark a type that is not subject to type-based aliasing rules
  */
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_may_alias __attribute__((__may_alias__))
+#else
+#define __rte_may_alias
+#endif
 
 /******* Macro to mark functions and fields scheduled for removal *****/
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_deprecated	__attribute__((__deprecated__))
 #define __rte_deprecated_msg(msg)	__attribute__((__deprecated__(msg)))
+#else
+#define __rte_deprecated
+#define __rte_deprecated_msg(msg)
+#endif
 
 /**
  *  Macro to mark macros and defines scheduled for removal
@@ -110,14 +131,22 @@
 /**
  * Force symbol to be generated even if it appears to be unused.
  */
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_used __attribute__((used))
+#else
+#define __rte_used
+#endif
 
 /*********** Macros to eliminate unused variable warnings ********/
 
 /**
  * short definition to mark a function parameter unused
  */
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_unused __attribute__((__unused__))
+#else
+#define __rte_unused
+#endif
 
 /**
  * Mark pointer as restricted with regard to pointer aliasing.
@@ -141,6 +170,7 @@
  * even if the underlying stdio implementation is ANSI-compliant,
  * so this must be overridden.
  */
+#ifndef RTE_TOOLCHAIN_MSVC
 #if RTE_CC_IS_GNU
 #define __rte_format_printf(format_index, first_arg) \
 	__attribute__((format(gnu_printf, format_index, first_arg)))
@@ -148,6 +178,9 @@
 #define __rte_format_printf(format_index, first_arg) \
 	__attribute__((format(printf, format_index, first_arg)))
 #endif
+#else
+#define __rte_format_printf(format_index, first_arg)
+#endif
 
 /**
  * Tells compiler that the function returns a value that points to
@@ -222,7 +255,11 @@ static void __attribute__((destructor(RTE_PRIO(prio)), used)) func(void)
 /**
  * Hint never returning function
  */
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_noreturn __attribute__((noreturn))
+#else
+#define __rte_noreturn
+#endif
 
 /**
  * Issue a warning in case the function's return value is ignored.
@@ -247,12 +284,20 @@ static void __attribute__((destructor(RTE_PRIO(prio)), used)) func(void)
  *  }
  * @endcode
  */
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_warn_unused_result __attribute__((warn_unused_result))
+#else
+#define __rte_warn_unused_result
+#endif
 
 /**
  * Force a function to be inlined
  */
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_always_inline inline __attribute__((always_inline))
+#else
+#define __rte_always_inline
+#endif
 
 /**
  * Force a function to be noinlined
@@ -437,7 +482,11 @@ static void __attribute__((destructor(RTE_PRIO(prio)), used)) func(void)
 #define RTE_CACHE_LINE_MIN_SIZE 64
 
 /** Force alignment to cache line. */
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_cache_aligned __rte_aligned(RTE_CACHE_LINE_SIZE)
+#else
+#define __rte_cache_aligned
+#endif
 
 /** Force minimum cache line alignment. */
 #define __rte_cache_min_aligned __rte_aligned(RTE_CACHE_LINE_MIN_SIZE)
@@ -812,12 +861,17 @@ static void __attribute__((destructor(RTE_PRIO(prio)), used)) func(void)
  *  struct wrapper *w = container_of(x, struct wrapper, c);
  */
 #ifndef container_of
+#ifndef RTE_TOOLCHAIN_MSVC
 #define container_of(ptr, type, member)	__extension__ ({		\
 			const typeof(((type *)0)->member) *_ptr = (ptr); \
 			__rte_unused type *_target_ptr =	\
 				(type *)(ptr);				\
 			(type *)(((uintptr_t)_ptr) - offsetof(type, member)); \
 		})
+#else
+#define container_of(ptr, type, member) \
+			((type *)((uintptr_t)(ptr) - offsetof(type, member)))
+#endif
 #endif
 
 /** Swap two variables. */
diff --git a/lib/eal/include/rte_compat.h b/lib/eal/include/rte_compat.h
index fc9fbaa..6a4b5ee 100644
--- a/lib/eal/include/rte_compat.h
+++ b/lib/eal/include/rte_compat.h
@@ -12,14 +12,22 @@
 
 #ifndef ALLOW_EXPERIMENTAL_API
 
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_experimental \
 __attribute__((deprecated("Symbol is not yet part of stable ABI"), \
 section(".text.experimental")))
+#else
+#define __rte_experimental
+#endif
 
 #else
 
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_experimental \
 __attribute__((section(".text.experimental")))
+#else
+#define __rte_experimental
+#endif
 
 #endif
 
@@ -30,23 +38,35 @@
 
 #if !defined ALLOW_INTERNAL_API && __has_attribute(error) /* For GCC */
 
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_internal \
 __attribute__((error("Symbol is not public ABI"), \
 section(".text.internal")))
+#else
+#define __rte_internal
+#endif
 
 #elif !defined ALLOW_INTERNAL_API && __has_attribute(diagnose_if) /* For clang */
 
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_internal \
 _Pragma("GCC diagnostic push") \
 _Pragma("GCC diagnostic ignored \"-Wgcc-compat\"") \
 __attribute__((diagnose_if(1, "Symbol is not public ABI", "error"), \
 section(".text.internal"))) \
 _Pragma("GCC diagnostic pop")
+#else
+#define __rte_internal
+#endif
 
 #else
 
+#ifndef RTE_TOOLCHAIN_MSVC
 #define __rte_internal \
 __attribute__((section(".text.internal")))
+#else
+#define __rte_internal
+#endif
 
 #endif
 
-- 
1.8.3.1


  parent reply	other threads:[~2023-05-02  3:17 UTC|newest]

Thread overview: 240+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-03 21:52 [PATCH 0/9] msvc integration changes Tyler Retzlaff
2023-04-03 21:52 ` [PATCH 1/9] eal: use rdtsc intrinsic when compiling with msvc Tyler Retzlaff
2023-04-03 21:52 ` [PATCH 2/9] eal: use rtm and xtest intrinsics " Tyler Retzlaff
2023-04-03 21:52 ` [PATCH 3/9] eal: use barrier " Tyler Retzlaff
2023-04-04  8:53   ` Bruce Richardson
2023-04-04 15:43     ` Tyler Retzlaff
2023-04-04 16:23       ` Bruce Richardson
2023-04-04 16:39         ` Tyler Retzlaff
2023-04-04 12:11   ` Konstantin Ananyev
2023-04-04 14:57     ` Morten Brørup
2023-04-04 15:49     ` Tyler Retzlaff
2023-04-04 23:49       ` Konstantin Ananyev
2023-04-05  0:04         ` Tyler Retzlaff
2023-04-05 10:57           ` Konstantin Ananyev
2023-04-05 12:35             ` Morten Brørup
2023-04-05 15:38               ` Tyler Retzlaff
2023-04-10 14:12                 ` Konstantin Ananyev
2023-04-06  0:07             ` Tyler Retzlaff
2023-04-10 20:02               ` Konstantin Ananyev
2023-04-10 20:58                 ` Tyler Retzlaff
2023-04-11  9:10                   ` Bruce Richardson
2023-04-11 21:22                     ` Tyler Retzlaff
2023-04-03 21:52 ` [PATCH 4/9] eal: typedef cpu flag enum as int for msvc Tyler Retzlaff
2023-04-03 21:52 ` [PATCH 5/9] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-04-03 21:52 ` [PATCH 6/9] eal: expand most macros to empty when using msvc Tyler Retzlaff
2023-04-03 21:52 ` [PATCH 7/9] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-04-03 21:52 ` [PATCH 8/9] telemetry: disable json print formatting with msvc Tyler Retzlaff
2023-04-03 21:52 ` [PATCH 9/9] telemetry: avoid expanding versioned symbol macros on msvc Tyler Retzlaff
2023-04-04 20:07 ` [PATCH v2 0/9] msvc integration changes Tyler Retzlaff
2023-04-04 20:07   ` [PATCH v2 1/9] eal: use rdtsc intrinsic when compiling with msvc Tyler Retzlaff
2023-04-05  8:59     ` Bruce Richardson
2023-04-04 20:07   ` [PATCH v2 2/9] eal: use rtm and xtest intrinsics " Tyler Retzlaff
2023-04-04 20:07   ` [PATCH v2 3/9] eal: use barrier " Tyler Retzlaff
2023-04-05 10:33     ` Bruce Richardson
2023-04-05 10:45     ` Konstantin Ananyev
2023-04-05 15:42       ` Tyler Retzlaff
2023-04-04 20:07   ` [PATCH v2 4/9] eal: typedef cpu flag enum as int for msvc Tyler Retzlaff
2023-04-04 20:07   ` [PATCH v2 5/9] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-04-04 20:07   ` [PATCH v2 6/9] eal: expand most macros to empty when using msvc Tyler Retzlaff
2023-04-05 10:44     ` Bruce Richardson
2023-04-05 15:51       ` Tyler Retzlaff
2023-04-04 20:07   ` [PATCH v2 7/9] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-04-04 20:07   ` [PATCH v2 8/9] telemetry: disable json print formatting with msvc Tyler Retzlaff
2023-04-04 20:07   ` [PATCH v2 9/9] telemetry: avoid expanding versioned symbol macros on msvc Tyler Retzlaff
2023-04-05 10:56     ` Bruce Richardson
2023-04-05 16:02       ` Tyler Retzlaff
2023-04-05 16:17         ` Bruce Richardson
2023-04-06  0:45 ` [PATCH v3 00/11] msvc integration changes Tyler Retzlaff
2023-04-06  0:45   ` [PATCH v3 01/11] eal: use rdtsc intrinsic when compiling with msvc Tyler Retzlaff
2023-04-06  0:45   ` [PATCH v3 02/11] eal: use rtm and xtest intrinsics " Tyler Retzlaff
2023-04-06  0:45   ` [PATCH v3 03/11] eal: use barrier " Tyler Retzlaff
2023-04-06  0:45   ` [PATCH v3 04/11] eal: use cpuid and cpuidex intrinsics Tyler Retzlaff
2023-04-06  0:45   ` [PATCH v3 05/11] eal: use umonitor umwait and tpause intrinsics Tyler Retzlaff
2023-04-06  0:45   ` [PATCH v3 06/11] eal: typedef cpu flag enum as int for msvc Tyler Retzlaff
2023-04-10 19:59     ` Konstantin Ananyev
2023-04-10 20:53       ` Tyler Retzlaff
2023-04-16 21:29         ` Konstantin Ananyev
2023-04-17 15:46           ` Tyler Retzlaff
2023-04-17 22:10             ` Konstantin Ananyev
2023-04-06  0:45   ` [PATCH v3 07/11] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-04-06  0:45   ` [PATCH v3 08/11] eal: expand most macros to empty when using msvc Tyler Retzlaff
2023-04-06  2:25     ` Stephen Hemminger
2023-04-06  6:44       ` Tyler Retzlaff
2023-04-06  0:45   ` [PATCH v3 09/11] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-04-06  0:45   ` [PATCH v3 10/11] telemetry: disable json print formatting with msvc Tyler Retzlaff
2023-04-06  9:25     ` Bruce Richardson
2023-04-06 15:45       ` Tyler Retzlaff
2023-04-06  0:45   ` [PATCH v3 11/11] telemetry: avoid expanding versioned symbol macros on msvc Tyler Retzlaff
2023-04-11 10:24     ` Bruce Richardson
2023-04-11 20:34       ` Tyler Retzlaff
2023-04-12  8:50         ` Bruce Richardson
2023-04-11 21:12 ` [PATCH v4 00/14] msvc integration changes Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 01/14] eal: use rdtsc intrinsic Tyler Retzlaff
2023-04-12 10:29     ` Konstantin Ananyev
2023-04-11 21:12   ` [PATCH v4 02/14] eal: use rtm and xtest intrinsics Tyler Retzlaff
2023-04-12  8:54     ` Bruce Richardson
2023-04-12 10:27     ` Konstantin Ananyev
2023-04-11 21:12   ` [PATCH v4 03/14] eal: use barrier intrinsics Tyler Retzlaff
2023-04-12  8:55     ` Bruce Richardson
2023-04-12 12:37     ` Konstantin Ananyev
2023-04-11 21:12   ` [PATCH v4 04/14] eal: use cpuid and cpuidex intrinsics Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 05/14] eal: use umonitor umwait and tpause intrinsics Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 06/14] eal: use prefetch intrinsics Tyler Retzlaff
2023-04-12  9:05     ` Bruce Richardson
2023-04-12 12:31       ` Konstantin Ananyev
2023-04-12 15:19       ` Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 07/14] eal: use byte swap intrinsics Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 08/14] eal: typedef cpu flag enum as int Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 09/14] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 10/14] eal: hide typedefs based on GCC vector extensions Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 11/14] eal: expand most macros to empty when using MSVC Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 12/14] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 13/14] telemetry: avoid expanding versioned symbol macros on MSVC Tyler Retzlaff
2023-04-11 21:12   ` [PATCH v4 14/14] eal: always define MSVC as little endian Tyler Retzlaff
2023-04-13 21:25 ` [PATCH v5 00/14] msvc integration changes Tyler Retzlaff
2023-04-13 21:25   ` [PATCH v5 01/14] eal: use rdtsc intrinsic Tyler Retzlaff
2023-04-13 21:25   ` [PATCH v5 02/14] eal: use rtm and xtest intrinsics Tyler Retzlaff
2023-04-13 21:25   ` [PATCH v5 03/14] eal: use barrier intrinsics Tyler Retzlaff
2023-04-13 21:25   ` [PATCH v5 04/14] eal: use cpuid and cpuidex intrinsics Tyler Retzlaff
2023-04-13 21:25   ` [PATCH v5 05/14] eal: use umonitor umwait and tpause intrinsics Tyler Retzlaff
2023-04-13 21:25   ` [PATCH v5 06/14] eal: use prefetch intrinsics Tyler Retzlaff
2023-04-14  9:09     ` Bruce Richardson
2023-04-13 21:25   ` [PATCH v5 07/14] eal: use byte swap intrinsics Tyler Retzlaff
2023-04-13 21:25   ` [PATCH v5 08/14] eal: typedef cpu flag enum as int Tyler Retzlaff
2023-04-13 21:25   ` [PATCH v5 09/14] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-04-13 21:25   ` [PATCH v5 10/14] eal: hide typedefs based on GCC vector extensions Tyler Retzlaff
2023-04-13 21:26   ` [PATCH v5 11/14] eal: expand most macros to empty when using MSVC Tyler Retzlaff
2023-04-14  6:45     ` Morten Brørup
2023-04-14  9:22       ` Bruce Richardson
2023-04-14 12:39         ` Morten Brørup
2023-04-14 13:25           ` Bruce Richardson
2023-04-14 17:02       ` Tyler Retzlaff
2023-04-15  7:16         ` Morten Brørup
2023-04-15 20:52           ` Tyler Retzlaff
2023-04-15 22:41             ` Morten Brørup
2023-04-15 22:52               ` Stephen Hemminger
2023-04-17 15:16                 ` Tyler Retzlaff
2023-04-13 21:26   ` [PATCH v5 12/14] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-04-13 21:26   ` [PATCH v5 13/14] telemetry: avoid expanding versioned symbol macros on MSVC Tyler Retzlaff
2023-04-13 21:26   ` [PATCH v5 14/14] eal: always define MSVC as little endian Tyler Retzlaff
2023-04-15  1:15 ` [PATCH v6 00/15] msvc integration changes Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 01/15] eal: use rdtsc intrinsic Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 02/15] eal: use rtm and xtest intrinsics Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 03/15] eal: use barrier intrinsics Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 04/15] eal: use cpuid and cpuidex intrinsics Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 05/15] eal: use umonitor umwait and tpause intrinsics Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 06/15] eal: use prefetch intrinsics Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 07/15] eal: use byte swap intrinsics Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 08/15] eal: typedef cpu flag enum as int Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 09/15] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 10/15] eal: hide typedefs based on GCC vector extensions Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 11/15] eal: expand most macros to empty when using MSVC Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 12/15] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 13/15] telemetry: avoid expanding versioned symbol macros on MSVC Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 14/15] eal: always define MSVC as little endian Tyler Retzlaff
2023-04-15  1:15   ` [PATCH v6 15/15] eal: do not define typeof macro when building with MSVC Tyler Retzlaff
2023-04-15  6:11   ` [PATCH v6 00/15] msvc integration changes Morten Brørup
2023-04-17 16:10 ` [PATCH v7 00/14] " Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 01/14] eal: use rdtsc intrinsic Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 02/14] eal: use rtm and xtest intrinsics Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 03/14] eal: use barrier intrinsics Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 04/14] eal: use cpuid and cpuidex intrinsics Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 05/14] eal: use umonitor umwait and tpause intrinsics Tyler Retzlaff
2023-05-01 12:55     ` Konstantin Ananyev
2023-04-17 16:10   ` [PATCH v7 06/14] eal: use prefetch intrinsics Tyler Retzlaff
2023-05-01 12:57     ` Konstantin Ananyev
2023-04-17 16:10   ` [PATCH v7 07/14] eal: use byte swap intrinsics Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 08/14] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 09/14] eal: hide typedefs based on GCC vector extensions Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 10/14] eal: expand most macros to empty when using MSVC Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 11/14] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 12/14] telemetry: avoid expanding versioned symbol macros on MSVC Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 13/14] eal: always define MSVC as little endian Tyler Retzlaff
2023-04-17 16:10   ` [PATCH v7 14/14] eal: do not define typeof macro when building with MSVC Tyler Retzlaff
2023-05-02  3:15 ` [PATCH v8 00/14] msvc integration changes Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 01/14] eal: use rdtsc intrinsic Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 02/14] eal: use rtm and xtest intrinsics Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 03/14] eal: use barrier intrinsics Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 04/14] eal: use cpuid and cpuidex intrinsics Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 05/14] eal: use umonitor umwait and tpause intrinsics Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 06/14] eal: use prefetch intrinsics Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 07/14] eal: use byte swap intrinsics Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 08/14] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 09/14] eal: hide typedefs based on GCC vector extensions Tyler Retzlaff
2023-05-02  3:15   ` Tyler Retzlaff [this message]
2023-05-02  3:15   ` [PATCH v8 11/14] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 12/14] telemetry: avoid expanding versioned symbol macros on MSVC Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 13/14] eal: always define MSVC as little endian Tyler Retzlaff
2023-05-02  3:15   ` [PATCH v8 14/14] eal: do not define typeof macro when building with MSVC Tyler Retzlaff
2023-07-11 16:49 ` [PATCH v9 00/14] msvc integration changes Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 01/14] eal: use rdtsc intrinsic Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 02/14] eal: use rtm and xtest intrinsics Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 03/14] eal: use barrier intrinsics Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 04/14] eal: use cpuid and cpuidex intrinsics Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 05/14] eal: use umonitor umwait and tpause intrinsics Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 06/14] eal: use prefetch intrinsics Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 07/14] eal: use byte swap intrinsics Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 08/14] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 09/14] eal: hide typedefs based on GCC vector extensions Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 10/14] eal: expand most macros to empty when using MSVC Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 11/14] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 12/14] telemetry: avoid expanding versioned symbol macros on MSVC Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 13/14] eal: always define MSVC as little endian Tyler Retzlaff
2023-07-11 16:49   ` [PATCH v9 14/14] eal: do not define typeof macro when building with MSVC Tyler Retzlaff
2023-08-02 21:35 ` [PATCH v10 00/13] msvc integration changes Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 01/13] eal: use rdtsc intrinsic Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 02/13] eal: use rtm and xtest intrinsics Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 03/13] eal: use barrier intrinsics Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 04/13] eal: use cpuid and cpuidex intrinsics Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 05/13] eal: use umonitor umwait and tpause intrinsics Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 06/13] eal: use prefetch intrinsics Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 07/13] eal: use byte swap intrinsics Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 08/13] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 09/13] eal: hide typedefs based on GCC vector extensions Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 10/13] eal: expand most macros to empty when using MSVC Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 11/13] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 12/13] eal: always define MSVC as little endian Tyler Retzlaff
2023-08-02 21:35   ` [PATCH v10 13/13] eal: do not define typeof macro when building with MSVC Tyler Retzlaff
2023-08-11 19:20 ` [PATCH v11 00/16] msvc integration changes Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 01/16] eal: use rdtsc intrinsic Tyler Retzlaff
2023-08-26 14:38     ` Ali Alnubani
2023-08-29 16:16       ` Tyler Retzlaff
2023-08-30 13:38         ` Ali Alnubani
2023-08-30 15:48           ` Ali Alnubani
2023-08-30 16:29             ` Ali Alnubani
2023-08-31 23:06               ` Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 02/16] eal: use rtm and xtest intrinsics Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 03/16] eal: use barrier intrinsics Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 04/16] eal: use cpuid and cpuidex intrinsics Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 05/16] eal: use umonitor umwait and tpause intrinsics Tyler Retzlaff
2023-08-25 14:12     ` Bruce Richardson
2023-08-25 14:56       ` Morten Brørup
2023-08-25 15:12         ` Bruce Richardson
2023-08-25 15:44           ` Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 06/16] eal: use prefetch intrinsics Tyler Retzlaff
2023-08-24 12:06     ` David Marchand
2023-08-24 12:25       ` David Marchand
2023-08-25  9:23         ` Morten Brørup
2023-08-24 12:46       ` Morten Brørup
2023-08-24 14:18         ` David Marchand
2023-08-24 14:43           ` Morten Brørup
2023-08-24 15:53           ` Tyler Retzlaff
2023-08-25  8:44             ` David Marchand
2023-08-25 15:46               ` Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 07/16] eal: use byte swap intrinsics Tyler Retzlaff
2023-08-25  8:45     ` David Marchand
2023-08-11 19:20   ` [PATCH v11 08/16] eal: hide GCC extension based alignment markers Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 09/16] eal: hide typedefs based on GCC vector extensions Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 10/16] eal: expand most macros to empty when using MSVC Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 11/16] eal: exclude exposure of rte atomic APIs for MSVC builds Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 12/16] eal: always define MSVC as little endian Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 13/16] eal: do not define typeof macro when building with MSVC Tyler Retzlaff
2023-08-11 19:20   ` [PATCH v11 14/16] log: use standard ternary operator instead of GCC extension Tyler Retzlaff
2023-09-25  6:24     ` Morten Brørup
2023-09-25 15:09       ` Stephen Hemminger
2023-08-11 19:20   ` [PATCH v11 15/16] eal: " Tyler Retzlaff
2023-09-25  6:25     ` Morten Brørup
2023-08-11 19:20   ` [PATCH v11 16/16] eal: define priority based ctor dtor for MSVC Tyler Retzlaff
2023-09-25  6:28     ` Morten Brørup
2023-08-25  8:47   ` [PATCH v11 00/16] msvc integration changes David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1682997341-2271-11-git-send-email-roretzla@linux.microsoft.com \
    --to=roretzla@linux.microsoft.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@huawei.com \
    --cc=mb@smartsharesystems.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).