From: Andre Muezerie <andremue@linux.microsoft.com>
To: dev@dpdk.org
Cc: Andre Muezerie <andremue@linux.microsoft.com>
Subject: [PATCH v4 3/7] drivers/common: eliminate dependency on non-portable __SIZEOF_LONG__
Date: Tue, 4 Feb 2025 10:54:27 -0800 [thread overview]
Message-ID: <1738695271-29948-4-git-send-email-andremue@linux.microsoft.com> (raw)
In-Reply-To: <1738695271-29948-1-git-send-email-andremue@linux.microsoft.com>
Macro __SIZEOF_LONG__ is not standardized and MSVC does not define it.
Therefore the errors below are seen with MSVC:
../lib/mldev/mldev_utils_scalar.c(465): error C2065:
'__SIZEOF_LONG__': undeclared identifier
../lib/mldev/mldev_utils_scalar.c(478): error C2051:
case expression not constant
../lib/mldev/mldev_utils_scalar_bfloat16.c(33): error C2065:
'__SIZEOF_LONG__': undeclared identifier
../lib/mldev/mldev_utils_scalar_bfloat16.c(49): error C2051:
case expression not constant
Turns out that the places where __SIZEOF_LONG__ is currently
being used can equally well use sizeof(long) instead.
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Acked-by: Chaoyong He <chaoyong.he@corigine.com>
---
drivers/common/cnxk/cnxk_security_ar.h | 4 ++--
drivers/common/cnxk/roc_bits.h | 13 ++++---------
drivers/common/cnxk/roc_ie_ot.h | 4 ++--
drivers/common/cnxk/roc_ie_ot_tls.h | 5 +++--
drivers/common/cnxk/roc_platform.h | 2 ++
drivers/common/nfp/nfp_platform.h | 8 +++-----
6 files changed, 16 insertions(+), 20 deletions(-)
diff --git a/drivers/common/cnxk/cnxk_security_ar.h b/drivers/common/cnxk/cnxk_security_ar.h
index d0151a752c..9e88d0063b 100644
--- a/drivers/common/cnxk/cnxk_security_ar.h
+++ b/drivers/common/cnxk/cnxk_security_ar.h
@@ -13,8 +13,8 @@
/* u64 array size to fit anti replay window bits */
#define AR_WIN_ARR_SZ \
- (PLT_ALIGN_CEIL(CNXK_ON_AR_WIN_SIZE_MAX + 1, BITS_PER_LONG_LONG) / \
- BITS_PER_LONG_LONG)
+ (PLT_ALIGN_CEIL(CNXK_ON_AR_WIN_SIZE_MAX + 1, PLT_BITS_PER_LONG_LONG) / \
+ PLT_BITS_PER_LONG_LONG)
#define WORD_SHIFT 6
#define WORD_SIZE (1ULL << WORD_SHIFT)
diff --git a/drivers/common/cnxk/roc_bits.h b/drivers/common/cnxk/roc_bits.h
index 11216d9d63..654e5a85d7 100644
--- a/drivers/common/cnxk/roc_bits.h
+++ b/drivers/common/cnxk/roc_bits.h
@@ -5,6 +5,8 @@
#ifndef _ROC_BITS_H_
#define _ROC_BITS_H_
+#include <rte_common.h>
+
#ifndef BIT_ULL
#define BIT_ULL(nr) (1ULL << (nr))
#endif
@@ -13,20 +15,13 @@
#define BIT(nr) (1UL << (nr))
#endif
-#ifndef BITS_PER_LONG
-#define BITS_PER_LONG (__SIZEOF_LONG__ * 8)
-#endif
-#ifndef BITS_PER_LONG_LONG
-#define BITS_PER_LONG_LONG (__SIZEOF_LONG_LONG__ * 8)
-#endif
-
#ifndef GENMASK
-#define GENMASK(h, l) (((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG - 1 - (h))))
+#define GENMASK(h, l) (((~0UL) << (l)) & (~0UL >> (PLT_BITS_PER_LONG - 1 - (h))))
#endif
#ifndef GENMASK_ULL
#define GENMASK_ULL(h, l) \
(((~0ULL) - (1ULL << (l)) + 1) & \
- (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h))))
+ (~0ULL >> (PLT_BITS_PER_LONG_LONG - 1 - (h))))
#endif
#endif /* _ROC_BITS_H_ */
diff --git a/drivers/common/cnxk/roc_ie_ot.h b/drivers/common/cnxk/roc_ie_ot.h
index 1420e3d586..bfefe792b0 100644
--- a/drivers/common/cnxk/roc_ie_ot.h
+++ b/drivers/common/cnxk/roc_ie_ot.h
@@ -168,8 +168,8 @@ roc_ie_ot_ucc_is_success(uint8_t ucc)
/* u64 array size to fit anti replay window bits */
#define ROC_AR_WINBITS_SZ \
- (PLT_ALIGN_CEIL(ROC_AR_WIN_SIZE_MAX, BITS_PER_LONG_LONG) / \
- BITS_PER_LONG_LONG)
+ (PLT_ALIGN_CEIL(ROC_AR_WIN_SIZE_MAX, PLT_BITS_PER_LONG_LONG) / \
+ PLT_BITS_PER_LONG_LONG)
#define ROC_IPSEC_ERR_RING_MAX_ENTRY 65536
diff --git a/drivers/common/cnxk/roc_ie_ot_tls.h b/drivers/common/cnxk/roc_ie_ot_tls.h
index 2d6a290d9b..ff86bcb877 100644
--- a/drivers/common/cnxk/roc_ie_ot_tls.h
+++ b/drivers/common/cnxk/roc_ie_ot_tls.h
@@ -13,8 +13,9 @@
#define ROC_IE_OT_TLS_LOG_MIN_AR_WIN_SIZE_M1 5
/* u64 array size to fit anti replay window bits */
-#define ROC_IE_OT_TLS_AR_WINBITS_SZ \
- (PLT_ALIGN_CEIL(ROC_IE_OT_TLS_AR_WIN_SIZE_MAX, BITS_PER_LONG_LONG) / BITS_PER_LONG_LONG)
+#define ROC_IE_OT_TLS_AR_WINBITS_SZ \
+ (PLT_ALIGN_CEIL(ROC_IE_OT_TLS_AR_WIN_SIZE_MAX, PLT_BITS_PER_LONG_LONG) / \
+ PLT_BITS_PER_LONG_LONG)
/* CN10K TLS opcodes */
#define ROC_IE_OT_TLS_MAJOR_OP_RECORD_ENC 0x16UL
diff --git a/drivers/common/cnxk/roc_platform.h b/drivers/common/cnxk/roc_platform.h
index 1eb54446a8..1ed03430f9 100644
--- a/drivers/common/cnxk/roc_platform.h
+++ b/drivers/common/cnxk/roc_platform.h
@@ -58,6 +58,8 @@
#define PLT_ALIGN RTE_ALIGN
#define PLT_ALIGN_MUL_CEIL RTE_ALIGN_MUL_CEIL
#define PLT_MODEL_MZ_NAME "roc_model_mz"
+#define PLT_BITS_PER_LONG RTE_BITS_PER_LONG
+#define PLT_BITS_PER_LONG_LONG RTE_BITS_PER_LONG_LONG
#define PLT_CACHE_LINE_SIZE RTE_CACHE_LINE_SIZE
#define BITMASK_ULL GENMASK_ULL
#define PLT_ALIGN_CEIL RTE_ALIGN_CEIL
diff --git a/drivers/common/nfp/nfp_platform.h b/drivers/common/nfp/nfp_platform.h
index 0b02fcf1e8..e34781a88d 100644
--- a/drivers/common/nfp/nfp_platform.h
+++ b/drivers/common/nfp/nfp_platform.h
@@ -9,19 +9,17 @@
#include <stdint.h>
#include <rte_bitops.h>
+#include <rte_common.h>
#define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
#define DMA_BIT_MASK(n) ((1ULL << (n)) - 1)
-#define BITS_PER_LONG (__SIZEOF_LONG__ * 8)
-#define BITS_PER_LONG_LONG (__SIZEOF_LONG_LONG__ * 8)
-
#define GENMASK(h, l) \
- ((~0UL << (l)) & (~0UL >> (BITS_PER_LONG - (h) - 1)))
+ ((~0UL << (l)) & (~0UL >> (RTE_BITS_PER_LONG - (h) - 1)))
#define GENMASK_ULL(h, l) \
- ((~0ULL << (l)) & (~0ULL >> (BITS_PER_LONG_LONG - (h) - 1)))
+ ((~0ULL << (l)) & (~0ULL >> (RTE_BITS_PER_LONG_LONG - (h) - 1)))
#define __bf_shf(x) rte_bsf64(x)
--
2.47.2.vfs.0.1
next prev parent reply other threads:[~2025-02-04 18:54 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-04 20:09 [PATCH 0/6] " Andre Muezerie
2024-12-04 20:09 ` [PATCH 1/6] drivers/bus: " Andre Muezerie
2024-12-04 21:41 ` [PATCH v2 0/6] " Andre Muezerie
2024-12-04 21:41 ` [PATCH v2 1/6] drivers/bus: " Andre Muezerie
2024-12-04 21:41 ` [PATCH v2 2/6] drivers/common: " Andre Muezerie
2024-12-04 21:41 ` [PATCH v2 3/6] drivers/dma: " Andre Muezerie
2024-12-04 21:41 ` [PATCH v2 4/6] drivers/net: " Andre Muezerie
2024-12-04 21:41 ` [PATCH v2 5/6] drivers/raw: " Andre Muezerie
2024-12-04 21:41 ` [PATCH v2 6/6] lib/mldev: " Andre Muezerie
2024-12-05 4:20 ` [PATCH v3 0/7] " Andre Muezerie
2024-12-05 4:20 ` [PATCH v3 1/7] lib/eal: " Andre Muezerie
2024-12-05 4:20 ` [PATCH v3 2/7] drivers/bus: " Andre Muezerie
2024-12-06 12:22 ` Konstantin Ananyev
2024-12-06 16:19 ` Andre Muezerie
2024-12-06 16:41 ` Konstantin Ananyev
2024-12-06 16:43 ` Konstantin Ananyev
2024-12-06 18:14 ` Andre Muezerie
2025-02-04 15:58 ` Thomas Monjalon
2024-12-05 4:20 ` [PATCH v3 3/7] drivers/common: " Andre Muezerie
2024-12-05 4:20 ` [PATCH v3 4/7] drivers/dma: " Andre Muezerie
2024-12-05 4:20 ` [PATCH v3 5/7] drivers/net: " Andre Muezerie
2024-12-05 4:20 ` [PATCH v3 6/7] drivers/raw: " Andre Muezerie
2024-12-05 4:20 ` [PATCH v3 7/7] lib/mldev: " Andre Muezerie
2025-02-04 18:54 ` [PATCH v4 0/7] " Andre Muezerie
2025-02-04 18:54 ` [PATCH v4 1/7] eal: " Andre Muezerie
2025-02-04 18:54 ` [PATCH v4 2/7] drivers/bus: " Andre Muezerie
2025-02-04 18:54 ` Andre Muezerie [this message]
2025-02-04 18:54 ` [PATCH v4 4/7] drivers/dma: " Andre Muezerie
2025-02-04 18:54 ` [PATCH v4 5/7] drivers/net: " Andre Muezerie
2025-02-04 18:54 ` [PATCH v4 6/7] drivers/raw: " Andre Muezerie
2025-02-04 18:54 ` [PATCH v4 7/7] mldev: " Andre Muezerie
2025-02-05 9:15 ` [PATCH v4 0/7] " Bruce Richardson
2025-02-05 15:37 ` Andre Muezerie
2025-02-05 15:47 ` Bruce Richardson
2025-02-05 15:50 ` Konstantin Ananyev
2024-12-04 20:09 ` [PATCH 2/6] drivers/common: " Andre Muezerie
2024-12-05 1:14 ` Chaoyong He
2024-12-04 20:09 ` [PATCH 3/6] drivers/dma: " Andre Muezerie
2024-12-04 20:09 ` [PATCH 4/6] drivers/net: " Andre Muezerie
2024-12-04 20:09 ` [PATCH 5/6] drivers/raw: " Andre Muezerie
2024-12-04 20:09 ` [PATCH 6/6] lib/mldev: " Andre Muezerie
2024-12-04 21:50 ` [PATCH 0/6] " Stephen Hemminger
2024-12-05 4:19 ` Andre Muezerie
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=1738695271-29948-4-git-send-email-andremue@linux.microsoft.com \
--to=andremue@linux.microsoft.com \
--cc=dev@dpdk.org \
/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).