X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Fpmalloc.h;h=f7ae5843dbed0684ab67f56c9d86e28e1b088300;hb=67ec752917ad95184f07ab67a67ada3f6265b48c;hp=41b85e0c51780b449e67150b35a5193b8583e94a;hpb=567e61d09cd00174203eff85f63a598420476951;p=vpp.git diff --git a/src/vppinfra/pmalloc.h b/src/vppinfra/pmalloc.h index 41b85e0c517..f7ae5843dbe 100644 --- a/src/vppinfra/pmalloc.h +++ b/src/vppinfra/pmalloc.h @@ -36,7 +36,6 @@ typedef struct { u32 index; u32 arena_index; - uword pa; clib_pmalloc_chunk_t *chunks; u32 first_chunk_index; u32 n_free_chunks; @@ -60,14 +59,15 @@ typedef struct typedef struct { + /* flags */ + u32 flags; +#define CLIB_PMALLOC_F_NO_PAGEMAP (1 << 0) + /* base VA address */ u8 *base; /* default page size - typically 2M */ - u32 def_log2_page_sz; - - /* system page size - typically 4K */ - u32 sys_log2_page_sz; + clib_mem_page_sz_t def_log2_page_sz; /* maximum number of pages, limited by VA preallocation size */ u32 max_pages; @@ -100,7 +100,7 @@ typedef struct } clib_pmalloc_main_t; -int clib_pmalloc_init (clib_pmalloc_main_t * pm, uword size); +int clib_pmalloc_init (clib_pmalloc_main_t * pm, uword base_addr, uword size); void *clib_pmalloc_alloc_aligned_on_numa (clib_pmalloc_main_t * pm, uword size, uword align, u32 numa_node); @@ -116,6 +116,7 @@ void *clib_pmalloc_alloc_from_arena (clib_pmalloc_main_t * pm, void *arena_va, uword size, uword align); format_function_t format_pmalloc; +format_function_t format_pmalloc_map; always_inline clib_error_t * clib_pmalloc_last_error (clib_pmalloc_main_t * pm)