X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Flibrte_eal%2Fcommon%2Feal_memcfg.h;h=ea013a9daf17b68e9f20b84d09ef890818a97f11;hb=e863fe3a13da89787fdf3b5c590101a3c0f10af6;hp=573233896ebb84880e4d2df49e81f564d786c429;hpb=b39fcd956969e9fcf7033dcbd2a7c05deeaa7010;p=dpdk.git diff --git a/lib/librte_eal/common/eal_memcfg.h b/lib/librte_eal/common/eal_memcfg.h index 573233896e..ea013a9daf 100644 --- a/lib/librte_eal/common/eal_memcfg.h +++ b/lib/librte_eal/common/eal_memcfg.h @@ -5,20 +5,22 @@ #ifndef EAL_MEMCFG_H #define EAL_MEMCFG_H -#include -#include -#include #include #include #include +#include #include #include +#include "malloc_heap.h" + /** * Memory configuration shared across multiple processes. */ struct rte_mem_config { volatile uint32_t magic; /**< Magic number - sanity check. */ + uint32_t version; + /**< Prevent secondary processes using different DPDK versions. */ /* memory topology */ uint32_t nchannel; /**< Number of channels (0 if unknown). */ @@ -34,10 +36,13 @@ struct rte_mem_config { rte_rwlock_t mlock; /**< used by memzones for thread safety. */ rte_rwlock_t qlock; /**< used by tailqs for thread safety. */ rte_rwlock_t mplock; /**< used by mempool library for thread safety. */ + rte_spinlock_t tlock; /**< used by timer library for thread safety. */ rte_rwlock_t memory_hotplug_lock; /**< Indicates whether memory hotplug request is in progress. */ + uint8_t mp_status; /**< Multiprocess status. */ + /* memory segments and zones */ struct rte_fbarray memzones; /**< Memzone descriptors. */ @@ -66,6 +71,9 @@ struct rte_mem_config { uint32_t single_file_segments; /**< stored single file segments parameter. */ + uint64_t tsc_hz; + /**< TSC rate */ + uint8_t dma_maskbits; /**< Keeps the more restricted dma mask. */ }; @@ -81,6 +89,10 @@ eal_mcfg_update_from_internal(void); void eal_mcfg_wait_complete(void); +/* check if DPDK version of current process matches one stored in the config */ +int +eal_mcfg_check_version(void); + /* set mem config as complete */ void eal_mcfg_complete(void);