OpenAMP Library
Data Structures | Macros | Typedefs | Functions
virtio.h File Reference
#include <openamp/virtqueue.h>
#include <metal/spinlock.h>

Go to the source code of this file.

Data Structures

struct  virtio_device_id
 
struct  virtio_feature_desc
 
struct  virtio_vring_info
 
struct  virtio_device
 
struct  virtio_dispatch
 

Macros

#define VIRTIO_ID_NETWORK   0x01UL
 
#define VIRTIO_ID_BLOCK   0x02UL
 
#define VIRTIO_ID_CONSOLE   0x03UL
 
#define VIRTIO_ID_ENTROPY   0x04UL
 
#define VIRTIO_ID_BALLOON   0x05UL
 
#define VIRTIO_ID_IOMEMORY   0x06UL
 
#define VIRTIO_ID_RPMSG   0x07UL /* remote processor messaging */
 
#define VIRTIO_ID_SCSI   0x08UL
 
#define VIRTIO_ID_9P   0x09UL
 
#define VIRTIO_DEV_ANY_ID   (-1)UL
 
#define VIRTIO_CONFIG_STATUS_ACK   0x01
 
#define VIRTIO_CONFIG_STATUS_DRIVER   0x02
 
#define VIRTIO_CONFIG_STATUS_DRIVER_OK   0x04
 
#define VIRTIO_CONFIG_STATUS_NEEDS_RESET   0x40
 
#define VIRTIO_CONFIG_STATUS_FAILED   0x80
 
#define VIRTIO_DEV_DRIVER   0UL
 
#define VIRTIO_DEV_DEVICE   1UL
 
#define VIRTIO_DEV_MASTER   deprecated_virtio_dev_master()
 
#define VIRTIO_DEV_SLAVE   deprecated_virtio_dev_slave()
 
#define VIRTIO_F_NOTIFY_ON_EMPTY   (1 << 24)
 
#define VIRTIO_F_BAD_FEATURE   (1 << 30)
 
#define VIRTIO_TRANSPORT_F_START   28
 
#define VIRTIO_TRANSPORT_F_END   32
 

Typedefs

typedef void(* virtio_dev_reset_cb) (struct virtio_device *vdev)
 

Functions

static __deprecated int deprecated_virtio_dev_master (void)
 
static __deprecated int deprecated_virtio_dev_slave (void)
 
const char * virtio_dev_name (uint16_t devid)
 
void virtio_describe (struct virtio_device *dev, const char *msg, uint32_t features, struct virtio_feature_desc *feature_desc)
 
int virtio_create_virtqueues (struct virtio_device *vdev, unsigned int flags, unsigned int nvqs, const char *names[], vq_callback callbacks[])
 

Macro Definition Documentation

◆ VIRTIO_CONFIG_STATUS_ACK

#define VIRTIO_CONFIG_STATUS_ACK   0x01

◆ VIRTIO_CONFIG_STATUS_DRIVER

#define VIRTIO_CONFIG_STATUS_DRIVER   0x02

◆ VIRTIO_CONFIG_STATUS_DRIVER_OK

#define VIRTIO_CONFIG_STATUS_DRIVER_OK   0x04

◆ VIRTIO_CONFIG_STATUS_FAILED

#define VIRTIO_CONFIG_STATUS_FAILED   0x80

◆ VIRTIO_CONFIG_STATUS_NEEDS_RESET

#define VIRTIO_CONFIG_STATUS_NEEDS_RESET   0x40

◆ VIRTIO_DEV_ANY_ID

#define VIRTIO_DEV_ANY_ID   (-1)UL

◆ VIRTIO_DEV_DEVICE

#define VIRTIO_DEV_DEVICE   1UL

◆ VIRTIO_DEV_DRIVER

#define VIRTIO_DEV_DRIVER   0UL

◆ VIRTIO_DEV_MASTER

#define VIRTIO_DEV_MASTER   deprecated_virtio_dev_master()

◆ VIRTIO_DEV_SLAVE

#define VIRTIO_DEV_SLAVE   deprecated_virtio_dev_slave()

◆ VIRTIO_F_BAD_FEATURE

#define VIRTIO_F_BAD_FEATURE   (1 << 30)

◆ VIRTIO_F_NOTIFY_ON_EMPTY

#define VIRTIO_F_NOTIFY_ON_EMPTY   (1 << 24)

◆ VIRTIO_ID_9P

#define VIRTIO_ID_9P   0x09UL

◆ VIRTIO_ID_BALLOON

#define VIRTIO_ID_BALLOON   0x05UL

◆ VIRTIO_ID_BLOCK

#define VIRTIO_ID_BLOCK   0x02UL

◆ VIRTIO_ID_CONSOLE

#define VIRTIO_ID_CONSOLE   0x03UL

◆ VIRTIO_ID_ENTROPY

#define VIRTIO_ID_ENTROPY   0x04UL

◆ VIRTIO_ID_IOMEMORY

#define VIRTIO_ID_IOMEMORY   0x06UL

◆ VIRTIO_ID_NETWORK

#define VIRTIO_ID_NETWORK   0x01UL

◆ VIRTIO_ID_RPMSG

#define VIRTIO_ID_RPMSG   0x07UL /* remote processor messaging */

◆ VIRTIO_ID_SCSI

#define VIRTIO_ID_SCSI   0x08UL

◆ VIRTIO_TRANSPORT_F_END

#define VIRTIO_TRANSPORT_F_END   32

◆ VIRTIO_TRANSPORT_F_START

#define VIRTIO_TRANSPORT_F_START   28

Typedef Documentation

◆ virtio_dev_reset_cb

typedef void(* virtio_dev_reset_cb) (struct virtio_device *vdev)

Function Documentation

◆ deprecated_virtio_dev_master()

static __deprecated int deprecated_virtio_dev_master ( void  )
inlinestatic

◆ deprecated_virtio_dev_slave()

static __deprecated int deprecated_virtio_dev_slave ( void  )
inlinestatic

◆ virtio_create_virtqueues()

int virtio_create_virtqueues ( struct virtio_device vdev,
unsigned int  flags,
unsigned int  nvqs,
const char *  names[],
vq_callback  callbacks[] 
)

◆ virtio_describe()

void virtio_describe ( struct virtio_device dev,
const char *  msg,
uint32_t  features,
struct virtio_feature_desc feature_desc 
)

◆ virtio_dev_name()

const char* virtio_dev_name ( uint16_t  devid)