vfio: fix API description
[dpdk.git] / lib / librte_eal / include / rte_eal.h
index 2f9ed29..eaf6469 100644 (file)
@@ -19,6 +19,7 @@
 #include <rte_compat.h>
 #include <rte_per_lcore.h>
 #include <rte_bus.h>
+#include <rte_uuid.h>
 
 #include <rte_pci_dev_feature_defs.h>
 
@@ -31,15 +32,6 @@ extern "C" {
 /* Maximum thread_name length. */
 #define RTE_MAX_THREAD_NAME_LEN 16
 
-/**
- * The lcore role (used in RTE or not).
- */
-enum rte_lcore_role_t {
-       ROLE_RTE,
-       ROLE_OFF,
-       ROLE_SERVICE,
-};
-
 /**
  * The type of process in a linux, multi-process setup
  */
@@ -73,17 +65,9 @@ int rte_eal_iopl_init(void);
 /**
  * Initialize the Environment Abstraction Layer (EAL).
  *
- * This function is to be executed on the MASTER lcore only, as soon
+ * This function is to be executed on the MAIN lcore only, as soon
  * as possible in the application's main() function.
- *
- * The function finishes the initialization process before main() is called.
- * It puts the SLAVE lcores in the WAIT state.
- *
- * When the multi-partition feature is supported, depending on the
- * configuration (if CONFIG_RTE_EAL_MAIN_PARTITION is disabled), this
- * function waits to ensure that the magic number is set before
- * returning. See also the rte_eal_get_configuration() function. Note:
- * This behavior may change in the future.
+ * It puts the WORKER lcores in the WAIT state.
  *
  * @param argc
  *   A non-negative value.  If it is greater than 0, the array members
@@ -138,8 +122,9 @@ int rte_eal_init(int argc, char **argv);
  * be made. It is expected that common usage of this function is to call it
  * just before terminating the process.
  *
- * @return 0 Successfully released all internal EAL resources
- * @return -EFAULT There was an error in releasing all resources.
+ * @return
+ *  - 0 Successfully released all internal EAL resources.
+ *  - -EFAULT There was an error in releasing all resources.
  */
 int rte_eal_cleanup(void);
 
@@ -160,6 +145,20 @@ int rte_eal_cleanup(void);
  */
 int rte_eal_primary_proc_alive(const char *config_file_path);
 
+/**
+ * Disable multiprocess.
+ *
+ * This function can be called to indicate that multiprocess won't be used for
+ * the rest of the application life.
+ *
+ * @return
+ *   - true if called from a primary process that had no secondary processes
+ *     attached,
+ *   - false, otherwise.
+ */
+__rte_experimental
+bool rte_mp_disable(void);
+
 #define RTE_MP_MAX_FD_NUM      8    /* The max amount of fds */
 #define RTE_MP_MAX_NAME_LEN    64   /* The max length of action name */
 #define RTE_MP_MAX_PARAM_LEN   256  /* The max length of param */
@@ -438,6 +437,19 @@ int rte_eal_create_uio_dev(void);
  */
 enum rte_intr_mode rte_eal_vfio_intr_mode(void);
 
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice
+ *
+ * Copy the user-configured vfio VF token.
+ *
+ * @param vf_token
+ *   vfio VF token configured with the command line is copied
+ *   into this parameter, zero uuid by default.
+ */
+__rte_experimental
+void rte_eal_vfio_get_vf_token(rte_uuid_t vf_token);
+
 /**
  * A wrap API for syscall gettid.
  *
@@ -447,6 +459,8 @@ enum rte_intr_mode rte_eal_vfio_intr_mode(void);
  */
 int rte_sys_gettid(void);
 
+RTE_DECLARE_PER_LCORE(int, _thread_id);
+
 /**
  * Get system unique thread id.
  *
@@ -456,7 +470,6 @@ int rte_sys_gettid(void);
  */
 static inline int rte_gettid(void)
 {
-       static RTE_DEFINE_PER_LCORE(int, _thread_id) = -1;
        if (RTE_PER_LCORE(_thread_id) == -1)
                RTE_PER_LCORE(_thread_id) = rte_sys_gettid();
        return RTE_PER_LCORE(_thread_id);