eal: remove unused macros
[dpdk.git] / lib / librte_eal / linuxapp / eal / eal.c
index 5d2adb9..4869e7c 100644 (file)
 #define OPT_CREATE_UIO_DEV "create-uio-dev"
 #define OPT_VFIO_INTR    "vfio-intr"
 
-#define RTE_EAL_BLACKLIST_SIZE 0x100
-
 #define MEMSIZE_IF_NO_HUGE_PAGE (64ULL * 1024ULL * 1024ULL)
 
 #define SOCKET_MEM_STRLEN (RTE_MAX_NUMA_NODES * 10)
@@ -213,6 +211,14 @@ rte_eal_config_create(void)
        if (internal_config.no_shconf)
                return;
 
+       /* map the config before hugepage address so that we don't waste a page */
+       if (internal_config.base_virtaddr != 0)
+               rte_mem_cfg_addr = (void *)
+                       RTE_ALIGN_FLOOR(internal_config.base_virtaddr -
+                       sizeof(struct rte_mem_config), sysconf(_SC_PAGE_SIZE));
+       else
+               rte_mem_cfg_addr = NULL;
+
        if (mem_cfg_fd < 0){
                mem_cfg_fd = open(pathname, O_RDWR | O_CREAT, 0660);
                if (mem_cfg_fd < 0)
@@ -232,7 +238,7 @@ rte_eal_config_create(void)
                                "process running?\n", pathname);
        }
 
-       rte_mem_cfg_addr = mmap(NULL, sizeof(*rte_config.mem_config),
+       rte_mem_cfg_addr = mmap(rte_mem_cfg_addr, sizeof(*rte_config.mem_config),
                                PROT_READ | PROT_WRITE, MAP_SHARED, mem_cfg_fd, 0);
 
        if (rte_mem_cfg_addr == MAP_FAILED){