New upstream version 17.11-rc3
[deb_dpdk.git] / lib / librte_eal / common / include / rte_eal.h
index 0e7363d..09b6681 100644 (file)
@@ -44,7 +44,9 @@
 #include <sched.h>
 
 #include <rte_per_lcore.h>
-#include <rte_config.h>
+#include <rte_bus.h>
+
+#include <rte_pci_dev_feature_defs.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -87,6 +89,9 @@ struct rte_config {
        /** Primary or secondary configuration */
        enum rte_proc_type_t process_type;
 
+       /** PA or VA mapping mode */
+       enum rte_iova_mode iova_mode;
+
        /**
         * Pointer to memory configuration, which may be shared across multiple
         * DPDK instances
@@ -263,6 +268,32 @@ rte_set_application_usage_hook(rte_usage_hook_t usage_func);
  */
 int rte_eal_has_hugepages(void);
 
+/**
+ * Whether EAL is using PCI bus.
+ * Disabled by --no-pci option.
+ *
+ * @return
+ *   Nonzero if the PCI bus is enabled.
+ */
+int rte_eal_has_pci(void);
+
+/**
+ * Whether the EAL was asked to create UIO device.
+ *
+ * @return
+ *   Nonzero if true.
+ */
+int rte_eal_create_uio_dev(void);
+
+/**
+ * The user-configured vfio interrupt mode.
+ *
+ * @return
+ *   Interrupt mode configured with the command line,
+ *   RTE_INTR_MODE_NONE by default.
+ */
+enum rte_intr_mode rte_eal_vfio_intr_mode(void);
+
 /**
  * A wrap API for syscall gettid.
  *
@@ -287,11 +318,22 @@ static inline int rte_gettid(void)
        return RTE_PER_LCORE(_thread_id);
 }
 
-#define RTE_INIT(func) \
-static void __attribute__((constructor, used)) func(void)
+/**
+ * Get the iova mode
+ *
+ * @return
+ *   enum rte_iova_mode value.
+ */
+enum rte_iova_mode rte_eal_iova_mode(void);
 
-#define RTE_INIT_PRIO(func, prio) \
-static void __attribute__((constructor(prio), used)) func(void)
+/**
+ * Get default pool ops name for mbuf
+ *
+ * @return
+ *   returns default pool ops name.
+ */
+const char *
+rte_eal_mbuf_default_mempool_ops(void);
 
 #ifdef __cplusplus
 }