mlx5dv_alloc_var / mlx5dv_free_var(3) mlx5dv_alloc_var / mlx5dv_free_var(3)

mlx5dv_alloc_var - Allocates a VAR

mlx5dv_free_var - Frees a VAR

#include <infiniband/mlx5dv.h>
struct mlx5dv_var *
mlx5dv_alloc_var(struct ibv_context *context, uint32_t flags);
void mlx5dv_free_var(struct mlx5dv_var *dv_var);

Create / free a VAR which can be used for some device commands over the DEVX interface.

The DEVX API enables direct access from the user space area to the mlx5 device driver, the VAR information is needed for few commands related to Virtio.

RDMA device context to work on.
Allocation flags for the UAR.

struct mlx5dv_var {
    uint32_t page_id;
    uint32_t length;
    off_t mmap_off;
    uint64_t comp_mask;
};
The device page id to be used.
The mmap length parameter to be used for mapping a VA to the allocated VAR entry.
The mmap offset parameter to be used for mapping a VA to the allocated VAR entry.

Upon success mlx5dv_alloc_var returns a pointer to the created VAR ,on error NULL will be returned and errno will be set.

mlx5dv_open_device, mlx5dv_devx_obj_create

Yishai Hadas <yishaih@mellanox.com>