physmem: keep only one physmem_main
We don't need per vlib_main physmem_main, so keep it separatelly instead of trying to keep them in sync. Change-Id: I0fbeecf4d9672d31af7a43c640a7d8f05dd6e46f Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:

committed by
Damjan Marion

parent
3cf2d6403d
commit
88c062119b
@ -114,7 +114,7 @@ unix_physmem_region_alloc (vlib_main_t * vm, char *name, u32 size,
|
||||
u8 numa_node, u32 flags,
|
||||
vlib_physmem_region_index_t * idx)
|
||||
{
|
||||
vlib_physmem_main_t *vpm = &vm->physmem_main;
|
||||
vlib_physmem_main_t *vpm = &physmem_main;
|
||||
vlib_physmem_region_t *pr;
|
||||
clib_error_t *error = 0;
|
||||
clib_mem_vm_alloc_t alloc = { 0 };
|
||||
@ -208,7 +208,7 @@ done:
|
||||
static void
|
||||
unix_physmem_region_free (vlib_main_t * vm, vlib_physmem_region_index_t idx)
|
||||
{
|
||||
vlib_physmem_main_t *vpm = &vm->physmem_main;
|
||||
vlib_physmem_main_t *vpm = &physmem_main;
|
||||
vlib_physmem_region_t *pr = vlib_physmem_get_region (vm, idx);
|
||||
|
||||
if (pr->fd > 0)
|
||||
@ -221,7 +221,7 @@ unix_physmem_region_free (vlib_main_t * vm, vlib_physmem_region_index_t idx)
|
||||
clib_error_t *
|
||||
unix_physmem_init (vlib_main_t * vm)
|
||||
{
|
||||
vlib_physmem_main_t *vpm = &vm->physmem_main;
|
||||
vlib_physmem_main_t *vpm = &physmem_main;
|
||||
linux_vfio_main_t *lvm = &vfio_main;
|
||||
clib_error_t *error = 0;
|
||||
u64 *pt = 0;
|
||||
@ -254,7 +254,7 @@ static clib_error_t *
|
||||
show_physmem (vlib_main_t * vm,
|
||||
unformat_input_t * input, vlib_cli_command_t * cmd)
|
||||
{
|
||||
vlib_physmem_main_t *vpm = &vm->physmem_main;
|
||||
vlib_physmem_main_t *vpm = &physmem_main;
|
||||
vlib_physmem_region_t *pr;
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
|
@ -57,7 +57,7 @@ linux_vfio_main_t vfio_main;
|
||||
static int
|
||||
map_regions (vlib_main_t * vm, int fd)
|
||||
{
|
||||
vlib_physmem_main_t *vpm = &vm->physmem_main;
|
||||
vlib_physmem_main_t *vpm = &physmem_main;
|
||||
vlib_physmem_region_t *pr;
|
||||
struct vfio_iommu_type1_dma_map dm = { 0 };
|
||||
int i;
|
||||
|
@ -105,8 +105,6 @@ typedef struct vlib_main_t
|
||||
|
||||
vlib_buffer_main_t *buffer_main;
|
||||
|
||||
vlib_physmem_main_t physmem_main;
|
||||
|
||||
/* Allocate/free buffer memory for DMA transfers, descriptor rings, etc.
|
||||
buffer memory is guaranteed to be cache-aligned. */
|
||||
|
||||
|
@ -73,6 +73,8 @@ typedef struct
|
||||
vlib_physmem_region_t *regions;
|
||||
} vlib_physmem_main_t;
|
||||
|
||||
extern vlib_physmem_main_t physmem_main;
|
||||
|
||||
#endif /* included_vlib_physmem_h */
|
||||
|
||||
/*
|
||||
|
@ -43,7 +43,7 @@
|
||||
always_inline vlib_physmem_region_t *
|
||||
vlib_physmem_get_region (vlib_main_t * vm, u8 index)
|
||||
{
|
||||
vlib_physmem_main_t *vpm = &vm->physmem_main;
|
||||
vlib_physmem_main_t *vpm = &physmem_main;
|
||||
return pool_elt_at_index (vpm->regions, index);
|
||||
}
|
||||
|
||||
@ -129,7 +129,7 @@ always_inline u64
|
||||
vlib_physmem_virtual_to_physical (vlib_main_t * vm,
|
||||
vlib_physmem_region_index_t idx, void *mem)
|
||||
{
|
||||
vlib_physmem_main_t *vpm = &vm->physmem_main;
|
||||
vlib_physmem_main_t *vpm = &physmem_main;
|
||||
vlib_physmem_region_t *pr = pool_elt_at_index (vpm->regions, idx);
|
||||
uword o = mem - pr->mem;
|
||||
return vlib_physmem_offset_to_physical (vm, idx, o);
|
||||
|
@ -61,6 +61,7 @@ char *vlib_default_runtime_dir = "vlib";
|
||||
|
||||
unix_main_t unix_main;
|
||||
clib_file_main_t file_main;
|
||||
vlib_physmem_main_t physmem_main;
|
||||
|
||||
static clib_error_t *
|
||||
unix_main_init (vlib_main_t * vm)
|
||||
|
Reference in New Issue
Block a user