#include <sys/queue.h>
#include <rte_dev.h>
#include <rte_devargs.h>
Go to the source code of this file.
RTE virtual bus API
Definition in file rte_bus_vdev.h.
◆ RTE_VDEV_DRV_NEED_IOVA_AS_VA
#define RTE_VDEV_DRV_NEED_IOVA_AS_VA 0x0001 |
Device driver needs IOVA as VA and cannot work with IOVA as PA
Definition at line 120 of file rte_bus_vdev.h.
◆ rte_vdev_probe_t
typedef int() rte_vdev_probe_t(struct rte_vdev_device *dev) |
Probe function called for each virtual device driver once.
Definition at line 61 of file rte_bus_vdev.h.
◆ rte_vdev_remove_t
typedef int() rte_vdev_remove_t(struct rte_vdev_device *dev) |
Remove function called for each virtual device driver once.
Definition at line 66 of file rte_bus_vdev.h.
◆ rte_vdev_dma_map_t
typedef int() rte_vdev_dma_map_t(struct rte_vdev_device *dev, void *addr, uint64_t iova, size_t len) |
Driver-specific DMA mapping. After a successful call the device will be able to read/write from/to this segment.
- Parameters
-
dev | Pointer to the Virtual device. |
addr | Starting virtual address of memory to be mapped. |
iova | Starting IOVA address of memory to be mapped. |
len | Length of memory segment being mapped. |
- Returns
- 0 On success.
- Negative value and rte_errno is set otherwise.
Definition at line 84 of file rte_bus_vdev.h.
◆ rte_vdev_dma_unmap_t
typedef int() rte_vdev_dma_unmap_t(struct rte_vdev_device *dev, void *addr, uint64_t iova, size_t len) |
Driver-specific DMA un-mapping. After a successful call the device will not be able to read/write from/to this segment.
- Parameters
-
dev | Pointer to the Virtual device. |
addr | Starting virtual address of memory to be unmapped. |
iova | Starting IOVA address of memory to be unmapped. |
len | Length of memory segment being unmapped. |
- Returns
- 0 On success.
- Negative value and rte_errno is set otherwise.
Definition at line 103 of file rte_bus_vdev.h.
◆ TAILQ_HEAD()
◆ rte_vdev_register()
Register a virtual device driver.
- Parameters
-
driver | A pointer to a rte_vdev_driver structure describing the driver to be registered. |
◆ rte_vdev_unregister()
Unregister a virtual device driver.
- Parameters
-
driver | A pointer to a rte_vdev_driver structure describing the driver to be unregistered. |
◆ rte_vdev_add_custom_scan()
int rte_vdev_add_custom_scan |
( |
rte_vdev_scan_callback |
callback, |
|
|
void * |
user_arg |
|
) |
| |
Add a callback to be called on vdev scan before reading the devargs list.
This function cannot be called in a scan callback because of deadlock.
- Parameters
-
callback | The function to be called which can update the devargs list. |
user_arg | An opaque pointer passed to callback. |
- Returns
- 0 on success, negative on error
◆ rte_vdev_remove_custom_scan()
int rte_vdev_remove_custom_scan |
( |
rte_vdev_scan_callback |
callback, |
|
|
void * |
user_arg |
|
) |
| |
Remove a registered scan callback.
This function cannot be called in a scan callback because of deadlock.
- Parameters
-
callback | The registered function to be removed. |
user_arg | The associated opaque pointer or (void*)-1 for any. |
- Returns
- 0 on success
◆ rte_vdev_init()
int rte_vdev_init |
( |
const char * |
name, |
|
|
const char * |
args |
|
) |
| |
Initialize a driver specified by name.
- Parameters
-
name | The pointer to a driver name to be initialized. |
args | The pointer to arguments used by driver initialization. |
- Returns
- 0 on success, negative on error
◆ rte_vdev_uninit()
int rte_vdev_uninit |
( |
const char * |
name | ) |
|
Uninitalize a driver specified by name.
- Parameters
-
name | The pointer to a driver name to be uninitialized. |
- Returns
- 0 on success, negative on error