#define EAL_INTERNAL_CFG_H
#include <rte_eal.h>
+#include <rte_os_shim.h>
#include <rte_pci_dev_feature_defs.h>
+#include "eal_thread.h"
+
+#if defined(RTE_ARCH_ARM)
+#define MAX_HUGEPAGE_SIZES 4 /**< support up to 4 page sizes */
+#else
#define MAX_HUGEPAGE_SIZES 3 /**< support up to 3 page sizes */
+#endif
/*
* internal configuration structure for the number, size and
int lock_descriptor; /**< file descriptor for hugepage dir */
};
+struct simd_bitwidth {
+ bool forced;
+ /**< flag indicating if bitwidth is forced and can't be modified */
+ uint16_t bitwidth; /**< bitwidth value */
+};
+
/**
* internal configuration
*/
volatile int syslog_facility; /**< facility passed to openlog() */
/** default interrupt mode for VFIO */
volatile enum rte_intr_mode vfio_intr_mode;
+ /** the shared VF token for VFIO-PCI bound PF and VFs devices */
+ rte_uuid_t vfio_vf_token;
char *hugefile_prefix; /**< the base filename of hugetlbfs files */
char *hugepage_dir; /**< specific hugetlbfs directory to use */
char *user_mbuf_pool_ops_name;
unsigned num_hugepage_sizes; /**< how many sizes on this system */
struct hugepage_info hugepage_info[MAX_HUGEPAGE_SIZES];
enum rte_iova_mode iova_mode ; /**< Set IOVA mode on this system */
+ rte_cpuset_t ctrl_cpuset; /**< cpuset for ctrl threads */
volatile unsigned int init_complete;
/**< indicates whether EAL has completed initialization */
+ unsigned int no_telemetry; /**< true to disable Telemetry */
+ struct simd_bitwidth max_simd_bitwidth;
+ /**< max simd bitwidth path to use */
};
-extern struct internal_config internal_config; /**< Global EAL configuration. */
void eal_reset_internal_config(struct internal_config *internal_cfg);