static void
rte_config_init(void)
{
- /* set the magic in configuration structure */
- rte_config.magic = RTE_MAGIC;
rte_config.process_type = (internal_config.process_type == RTE_PROC_AUTO) ?
eal_proc_type_detect() : /* for auto, detect the type */
internal_config.process_type; /* otherwise use what's already set */
}
/*
- * Request iopl priviledge for all RPL, returns 0 on success
+ * Request iopl privilege for all RPL, returns 0 on success
*/
static int
rte_eal_iopl_init(void)
TAILQ_FOREACH(solib, &solib_list, next) {
RTE_LOG(INFO, EAL, "open shared lib %s\n", solib->name);
solib->lib_handle = dlopen(solib->name, RTLD_NOW);
- if ((solib->lib_handle == NULL) && (solib->name[0] != '/')) {
- /* relative path: try again with "./" prefix */
- char sopath[PATH_MAX];
- snprintf(sopath, sizeof(sopath), "./%s", solib->name);
- solib->lib_handle = dlopen(sopath, RTLD_NOW);
- }
if (solib->lib_handle == NULL)
RTE_LOG(WARNING, EAL, "%s\n", dlerror());
}
- if (rte_eal_vdev_init() < 0)
- rte_panic("Cannot init virtual devices\n");
+ eal_thread_init_master(rte_config.master_lcore);
RTE_LOG(DEBUG, EAL, "Master core %u is ready (tid=%x)\n",
rte_config.master_lcore, (int)thread_id);
+ if (rte_eal_vdev_init() < 0)
+ rte_panic("Cannot init virtual devices\n");
+
RTE_LCORE_FOREACH_SLAVE(i) {
/*
rte_panic("Cannot create thread\n");
}
- eal_thread_init_master(rte_config.master_lcore);
-
/*
* Launch a dummy function on all slave lcores, so that master lcore
* knows they are all ready when this function returns.