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 requred address.

Fixes: b149a7064261 ("eal/freebsd: add config reattach in secondary process")

Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
---
 lib/librte_eal/freebsd/eal/eal.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/librte_eal/freebsd/eal/eal.c b/lib/librte_eal/freebsd/eal/eal.c
index 13ca1202c..d53f0fe69 100644
--- a/lib/librte_eal/freebsd/eal/eal.c
+++ b/lib/librte_eal/freebsd/eal/eal.c
@@ -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;
 }
 
-- 
2.17.1

Reply via email to