vlib_buffer_pool_t *p;
vlib_physmem_map_t *m = vlib_physmem_get_map (vm, physmem_map_index);
uword start = pointer_to_uword (m->base);
- uword size = m->n_pages << m->log2_page_size;
+ uword size = (uword) m->n_pages << m->log2_page_size;
if (bm->buffer_mem_size == 0)
{
clib_pmalloc_arena_t *a;
clib_error_t *error = 0;
void *va;
- int i;
+ uword i;
va = clib_pmalloc_create_shared_arena (pm, name, size, numa_node);
/* check if pagemap is accessible */
pt = clib_mem_vm_get_paddr (&pt, min_log2 (sysconf (_SC_PAGESIZE)), 1);
- if (pt[0])
+ if (pt && pt[0])
vpm->flags |= VLIB_PHYSMEM_MAIN_F_HAVE_PAGEMAP;
vec_free (pt);
goto error;
}
- memset (va, 0, n_pages << pm->log2_page_sz);
+ clib_memset (va, 0, n_pages << pm->log2_page_sz);
sys_page_size = sysconf (_SC_PAGESIZE);
pagemap_fd = open ((char *) "/proc/self/pagemap", O_RDONLY);
{
clib_pmalloc_arena_t *a;
clib_pmalloc_page_t *pp;
- u32 n_pages = round_pow2 (size, 1 << pm->log2_page_sz) >> pm->log2_page_sz;
+ u32 n_pages = round_pow2 (size, 1ULL << pm->log2_page_sz) >>
+ pm->log2_page_sz;
if (n_pages + vec_len (pm->pages) > pm->max_pages)
return 0;