{
u32 index;
u32 arena_index;
- uword pa;
clib_pmalloc_chunk_t *chunks;
u32 first_chunk_index;
u32 n_free_chunks;
typedef struct
{
+ /* flags */
+ u32 flags;
+#define CLIB_PMALLOC_F_NO_PAGEMAP (1 << 0)
+
/* base VA address */
u8 *base;
} 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);
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)