]> git.droids-corp.org - dpdk.git/commitdiff
eal: replace page sizes enum with a set of constants
authorDmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Mon, 15 Jun 2020 00:43:43 +0000 (03:43 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 15 Jun 2020 17:23:34 +0000 (19:23 +0200)
Clang on Windows follows MS ABI where enum values are limited to 2^31-1.
Enum rte_page_sizes has members valued above this limit, which get
wrapped to zero, resulting in compilation error (duplicate values in
enum). Using MS ABI is mandatory for Windows EAL to call Win32 APIs.

Remove rte_page_sizes and replace its values with #define's.
This enumeration is not used in public API, so there's no ABI breakage.
Announce API changes for 20.08 in documentation.

Suggested-by: Jerin Jacob <jerinjacobk@gmail.com>
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
doc/guides/rel_notes/release_20_08.rst
lib/librte_eal/include/rte_memory.h

index dee4ccbb5887cc8cecaa7ace3ae33b8f348c82bf..86d2402130e8dc421c4fe151ad222f992821075a 100644 (file)
@@ -91,6 +91,8 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* ``rte_page_sizes`` enumeration is replaced with ``RTE_PGSIZE_xxx`` defines.
+
 
 ABI Changes
 -----------
index 3d8d0bd6976d64ee26fd8462c55ba37ac646ec93..65374d53a3ba5c4f048a059aa34c27d5741c5a71 100644 (file)
@@ -24,19 +24,16 @@ extern "C" {
 #include <rte_config.h>
 #include <rte_fbarray.h>
 
-__extension__
-enum rte_page_sizes {
-       RTE_PGSIZE_4K    = 1ULL << 12,
-       RTE_PGSIZE_64K   = 1ULL << 16,
-       RTE_PGSIZE_256K  = 1ULL << 18,
-       RTE_PGSIZE_2M    = 1ULL << 21,
-       RTE_PGSIZE_16M   = 1ULL << 24,
-       RTE_PGSIZE_256M  = 1ULL << 28,
-       RTE_PGSIZE_512M  = 1ULL << 29,
-       RTE_PGSIZE_1G    = 1ULL << 30,
-       RTE_PGSIZE_4G    = 1ULL << 32,
-       RTE_PGSIZE_16G   = 1ULL << 34,
-};
+#define RTE_PGSIZE_4K   (1ULL << 12)
+#define RTE_PGSIZE_64K  (1ULL << 16)
+#define RTE_PGSIZE_256K (1ULL << 18)
+#define RTE_PGSIZE_2M   (1ULL << 21)
+#define RTE_PGSIZE_16M  (1ULL << 24)
+#define RTE_PGSIZE_256M (1ULL << 28)
+#define RTE_PGSIZE_512M (1ULL << 29)
+#define RTE_PGSIZE_1G   (1ULL << 30)
+#define RTE_PGSIZE_4G   (1ULL << 32)
+#define RTE_PGSIZE_16G  (1ULL << 34)
 
 #define SOCKET_ID_ANY -1                    /**< Any NUMA socket. */