eal/freebsd: fix config creation
authorAnatoly Burakov <anatoly.burakov@intel.com>
Fri, 12 Jul 2019 14:48:08 +0000 (15:48 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Sun, 14 Jul 2019 13:37:19 +0000 (15:37 +0200)
The config create function did not store the mem config address in
the shared memconfig structure, so the secondary processes couldn't
map it at the required address.

Fixes: b149a7064261 ("eal/freebsd: add config reattach in secondary process")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_eal/freebsd/eal/eal.c

index 13ca120..d53f0fe 100644 (file)
@@ -266,6 +266,11 @@ rte_eal_config_create(void)
        memcpy(rte_mem_cfg_addr, &early_mem_config, sizeof(early_mem_config));
        rte_config.mem_config = rte_mem_cfg_addr;
 
+       /* store address of the config in the config itself so that secondary
+        * processes could later map the config into this exact location
+        */
+       rte_config.mem_config->mem_cfg_addr = (uintptr_t) rte_mem_cfg_addr;
+
        return 0;
 }