net/hns3: support fixed link speed
[dpdk.git] / lib / librte_eal / common / eal_internal_cfg.h
index 98e314f..d6c0470 100644 (file)
 #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
@@ -27,6 +34,12 @@ struct hugepage_info {
        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
  */
@@ -66,17 +79,22 @@ struct internal_config {
        volatile int syslog_facility;     /**< facility passed to openlog() */
        /** default interrupt mode for VFIO */
        volatile enum rte_intr_mode vfio_intr_mode;
-       const char *hugefile_prefix;      /**< the base filename of hugetlbfs files */
-       const char *hugepage_dir;         /**< specific hugetlbfs directory to use */
-       const char *user_mbuf_pool_ops_name;
+       /** 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;
                        /**< user defined 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);