OpenAMP Library  353
fw_rsc_vdev Struct Reference

Resource table virtio device entry. More...

#include <remoteproc.h>

Data Fields

uint32_t type
 Virtio device header has type 3. More...
 
uint32_t id
 Virtio device id (as in virtio_ids.h) More...
 
uint32_t notifyid
 A unique rproc-wide notify index for this vdev. More...
 
uint32_t dfeatures
 The virtio device features supported by the firmware. More...
 
uint32_t gfeatures
 A place holder used by the host to write back the negotiated features that are supported by both sides. More...
 
uint32_t config_len
 The size of the virtio config space of this vdev. More...
 
uint8_t status
 A place holder where the host will indicate its virtio progress. More...
 
uint8_t num_of_vrings
 Number of vrings described in this vdev header. More...
 
uint8_t reserved [2]
 Reserved (must be zero) More...
 
struct fw_rsc_vdev_vring vring [0]
 An array of num_of_vrings entries of fw_rsc_vdev_vring. More...
 

Detailed Description

Resource table virtio device entry.

This resource is a virtio device header: it provides information about the vdev, and is then used by the host and its peer remote remoteprocs to negotiate and share certain virtio properties.

By providing this resource entry, the firmware essentially asks remoteproc to statically allocate a vdev upon registration of the rproc (dynamic vdev allocation is not yet supported).

Note: unlike virtualization systems, the term 'host' here means the Linux side which is running remoteproc to control the remote remoteprocs. We use the name 'gfeatures' to comply with virtio's terms, though there isn't really any virtualized guest OS here: it's the host which is responsible for negotiating the final features.

Note: immediately following this structure is the virtio config space for this vdev (which is specific to the vdev; for more info, read the virtio spec).

Field Documentation

◆ config_len

uint32_t fw_rsc_vdev::config_len

The size of the virtio config space of this vdev.

The config space lies in the resource table immediate after this vdev header

◆ dfeatures

uint32_t fw_rsc_vdev::dfeatures

The virtio device features supported by the firmware.

◆ gfeatures

uint32_t fw_rsc_vdev::gfeatures

A place holder used by the host to write back the negotiated features that are supported by both sides.

◆ id

uint32_t fw_rsc_vdev::id

Virtio device id (as in virtio_ids.h)

◆ notifyid

uint32_t fw_rsc_vdev::notifyid

A unique rproc-wide notify index for this vdev.

This notify index is used when kicking a remote remoteproc, to let it know that the status/features of this vdev have changes.

◆ num_of_vrings

uint8_t fw_rsc_vdev::num_of_vrings

Number of vrings described in this vdev header.

◆ reserved

uint8_t fw_rsc_vdev::reserved[2]

Reserved (must be zero)

◆ status

uint8_t fw_rsc_vdev::status

A place holder where the host will indicate its virtio progress.

◆ type

uint32_t fw_rsc_vdev::type

Virtio device header has type 3.

◆ vring

struct fw_rsc_vdev_vring fw_rsc_vdev::vring[0]

An array of num_of_vrings entries of fw_rsc_vdev_vring.


The documentation for this struct was generated from the following file: