Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
fw_rsc_vdev Struct Reference

#include <remoteproc.h>

Data Fields

u32 id
 
u32 notifyid
 
u32 dfeatures
 
u32 gfeatures
 
u32 config_len
 
u8 status
 
u8 num_of_vrings
 
u8 reserved [2]
 
struct fw_rsc_vdev_vring vring [0]
 

Detailed Description

struct fw_rsc_vdev - virtio device header : virtio device id (as in virtio_ids.h) is a unique rproc-wide notify index for this vdev. This notify index is used when kicking a remote processor, to let it know that the status/features of this vdev have changes. specifies the virtio device features supported by the firmware is a place holder used by the host to write back the negotiated features that are supported by both sides. is the size of the virtio config space of this vdev. The config space lies in the resource table immediate after this vdev header. is a place holder where the host will indicate its virtio progress. indicates how many vrings are described in this vdev header : reserved (must be zero) is an array of entries of 'struct fw_rsc_vdev_vring'.

This resource is a virtio device header: it provides information about the vdev, and is then used by the host and its peer remote processors 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 processors. 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. Yeah, it's a bit confusing.

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). the size of the config space is specified by .

Definition at line 296 of file remoteproc.h.

Field Documentation

u32 config_len

Definition at line 301 of file remoteproc.h.

u32 dfeatures

Definition at line 299 of file remoteproc.h.

u32 gfeatures

Definition at line 300 of file remoteproc.h.

Definition at line 297 of file remoteproc.h.

u32 notifyid

Definition at line 298 of file remoteproc.h.

u8 num_of_vrings

Definition at line 303 of file remoteproc.h.

u8 reserved[2]

Definition at line 304 of file remoteproc.h.

Definition at line 302 of file remoteproc.h.

Definition at line 305 of file remoteproc.h.


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