@@ -3139,7 +3139,7 @@ enum ice_status ice_flow_rem_entry(struct ice_hw *hw, enum ice_block blk,
if (entry_h == ICE_FLOW_ENTRY_HANDLE_INVAL)
return ICE_ERR_PARAM;
- entry = ICE_FLOW_ENTRY_PTR((unsigned long)entry_h);
+ entry = ICE_FLOW_ENTRY_PTR((intptr_t)entry_h);
/* Retain the pointer to the flow profile as the entry will be freed */
prof = entry->prof;
@@ -446,7 +446,7 @@ struct ice_flow_entry {
u8 acts_cnt;
};
-#define ICE_FLOW_ENTRY_HNDL(e) ((unsigned long)e)
+#define ICE_FLOW_ENTRY_HNDL(e) ((intptr_t)e)
#define ICE_FLOW_ENTRY_PTR(h) ((struct ice_flow_entry *)(h))
struct ice_flow_prof {
@@ -62,9 +62,24 @@ typedef uint64_t s64;
#define __be64 uint64_t
#endif
+/* Avoid macro redefinition warning on Windows */
+#ifdef RTE_EXEC_ENV_WINDOWS
+#ifdef min
+#undef min
+#endif
+#ifdef max
+#undef max
+#endif
+#endif
#define min(a, b) RTE_MIN(a, b)
#define max(a, b) RTE_MAX(a, b)
+#ifdef RTE_EXEC_ENV_WINDOWS
+#define ice_access _access
+#else
+#define ice_access access
+#endif
+
#define FIELD_SIZEOF(t, f) RTE_SIZEOF_FIELD(t, f)
#define ARRAY_SIZE(arr) RTE_DIM(arr)
@@ -6684,7 +6684,7 @@ ice_fill_valid_words(struct ice_adv_lkup_elem *rule,
for (j = 0; j < sizeof(rule->m_u) / sizeof(u16); j++)
if (((u16 *)&rule->m_u)[j] &&
- rule->type < ARRAY_SIZE(ice_prot_ext)) {
+ (unsigned long long)rule->type < ARRAY_SIZE(ice_prot_ext)) {
/* No more space to accommodate */
if (word >= ICE_MAX_CHAIN_WORDS)
return 0;
@@ -6,6 +6,7 @@
#define _ICE_VLAN_MODE_H_
#include "ice_osdep.h"
+#include "ice_status.h"
struct ice_hw;
@@ -5,7 +5,6 @@
#include <errno.h>
#include <stdbool.h>
#include <sys/types.h>
-#include <sys/ioctl.h>
#include <unistd.h>
#include <rte_interrupts.h>
@@ -121,7 +121,7 @@ ice_dcf_vsi_update_service_handler(void *param)
struct ice_dcf_hw *hw = reset_param->dcf_hw;
struct ice_dcf_adapter *adapter;
- usleep(ICE_DCF_VSI_UPDATE_SERVICE_INTERVAL);
+ rte_delay_us(ICE_DCF_VSI_UPDATE_SERVICE_INTERVAL);
rte_spinlock_lock(&vsi_update_lock);
@@ -315,24 +315,24 @@ ice_dcf_request_pkg_name(struct ice_hw *hw, char *pkg_name)
snprintf(pkg_name, ICE_MAX_PKG_FILENAME_SIZE,
ICE_PKG_FILE_SEARCH_PATH_UPDATES "ice-%016llx.pkg",
(unsigned long long)dsn);
- if (!access(pkg_name, 0))
+ if (!ice_access(pkg_name, 0))
return 0;
snprintf(pkg_name, ICE_MAX_PKG_FILENAME_SIZE,
ICE_PKG_FILE_SEARCH_PATH_DEFAULT "ice-%016llx.pkg",
(unsigned long long)dsn);
- if (!access(pkg_name, 0))
+ if (!ice_access(pkg_name, 0))
return 0;
pkg_file_direct:
snprintf(pkg_name,
ICE_MAX_PKG_FILENAME_SIZE, "%s", ICE_PKG_FILE_UPDATES);
- if (!access(pkg_name, 0))
+ if (!ice_access(pkg_name, 0))
return 0;
snprintf(pkg_name,
ICE_MAX_PKG_FILENAME_SIZE, "%s", ICE_PKG_FILE_DEFAULT);
- if (!access(pkg_name, 0))
+ if (!ice_access(pkg_name, 0))
return 0;
return -1;
@@ -1674,17 +1674,17 @@ ice_pkg_file_search_path(struct rte_pci_device *pci_dev, char *pkg_file)
strncpy(pkg_file, ICE_PKG_FILE_SEARCH_PATH_UPDATES,
ICE_MAX_PKG_FILENAME_SIZE);
- if (!access(strcat(pkg_file, opt_ddp_filename), 0))
+ if (!ice_access(strcat(pkg_file, opt_ddp_filename), 0))
return 0;
strncpy(pkg_file, ICE_PKG_FILE_SEARCH_PATH_DEFAULT,
ICE_MAX_PKG_FILENAME_SIZE);
- if (!access(strcat(pkg_file, opt_ddp_filename), 0))
+ if (!ice_access(strcat(pkg_file, opt_ddp_filename), 0))
return 0;
fail_dsn:
strncpy(pkg_file, ICE_PKG_FILE_UPDATES, ICE_MAX_PKG_FILENAME_SIZE);
- if (!access(pkg_file, 0))
+ if (!ice_access(pkg_file, 0))
return 0;
strncpy(pkg_file, ICE_PKG_FILE_DEFAULT, ICE_MAX_PKG_FILENAME_SIZE);
return 0;
@@ -4,7 +4,7 @@
#include "ice_rxtx_vec_common.h"
-#include <x86intrin.h>
+#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"
@@ -4,7 +4,7 @@
#include "ice_rxtx_vec_common.h"
-#include <x86intrin.h>
+#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"
@@ -1,12 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
-if is_windows
- build = false
- reason = 'not supported on Windows'
- subdir_done()
-endif
-
subdir('base')
objs = [base_objs]
@@ -26,6 +20,10 @@ includes += include_directories('base', '../../common/iavf')
if arch_subdir == 'x86'
sources += files('ice_rxtx_vec_sse.c')
+ if is_windows and cc.get_id() != 'clang'
+ cflags += ['-fno-asynchronous-unwind-tables']
+ endif
+
# compile AVX2 version if either:
# a. we have AVX supported in minimum instruction set baseline
# b. it's not minimum instruction set, but supported by compiler