Zephyr Project API 4.1.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
virtio.h File Reference
#include <zephyr/device.h>
#include "virtqueue.h"

Go to the source code of this file.

Data Structures

struct  virtio_driver_api
 Virtio api structure. More...
 

Typedefs

typedef uint16_t(* virtio_enumerate_queues) (uint16_t queue_idx, uint16_t max_queue_size, void *opaque)
 Callback used during virtqueue enumeration.
 

Functions

static struct virtqvirtio_get_virtqueue (const struct device *dev, uint16_t queue_idx)
 Returns virtqueue at given idx.
 
static void virtio_notify_virtqueue (const struct device *dev, uint16_t queue_idx)
 Notifies virtqueue.
 
static void * virtio_get_device_specific_config (const struct device *dev)
 Returns device specific config.
 
static bool virtio_read_device_feature_bit (const struct device *dev, int bit)
 Returns feature bit offered by virtio device.
 
static int virtio_write_driver_feature_bit (const struct device *dev, int bit, bool value)
 Sets feature bit.
 
static int virtio_commit_feature_bits (const struct device *dev)
 Commits feature bits.
 
static int virtio_init_virtqueues (const struct device *dev, uint16_t num_queues, virtio_enumerate_queues cb, void *opaque)
 Initializes virtqueues.
 
static void virtio_finalize_init (const struct device *dev)
 Finalizes initialization of the virtio device.