-always_inline vlib_physmem_region_t *
-vlib_physmem_get_region (vlib_main_t * vm, u8 index)
-{
- vlib_physmem_main_t *vpm = &physmem_main;
- return pool_elt_at_index (vpm->regions, index);
-}
-
-always_inline u64
-vlib_physmem_offset_to_physical (vlib_main_t * vm,
- vlib_physmem_region_index_t idx, uword o)
-{
- vlib_physmem_region_t *pr = vlib_physmem_get_region (vm, idx);
- uword page_index = o >> pr->log2_page_size;
- ASSERT (o < pr->size);
- ASSERT (pr->page_table[page_index] != 0);
- return (vec_elt (pr->page_table, page_index) + (o & pr->page_mask));
-}
-
-always_inline int
-vlib_physmem_is_virtual (vlib_main_t * vm, vlib_physmem_region_index_t idx,
- uword p)
-{
- vlib_physmem_region_t *pr = vlib_physmem_get_region (vm, idx);
- return p >= pointer_to_uword (pr->mem)
- && p < (pointer_to_uword (pr->mem) + pr->size);
-}
-
-always_inline uword
-vlib_physmem_offset_of (vlib_main_t * vm, vlib_physmem_region_index_t idx,
- void *p)
-{
- vlib_physmem_region_t *pr = vlib_physmem_get_region (vm, idx);
- uword a = pointer_to_uword (p);
- uword o;
+clib_error_t *vlib_physmem_init (vlib_main_t * vm);
+clib_error_t *vlib_physmem_shared_map_create (vlib_main_t * vm, char *name,
+ uword size, u32 log2_page_sz,
+ u32 numa_node, u32 * map_index);