vdev_pic_functions

Extra information for PIC vdevs

Synopsis:

#include <qvm/vdev-core.h>
struct vdev_pic_functions {
    unsigned flags;
    unsigned pnum_mask;
    int (*signal)(const struct guest_intr *gip, enum guest_intr_state gis);
    void (*notify)(const struct guest_intr *gip, enum guest_intr_notifications gin);
    const char * (*parse)(struct guest_intr *gip, const char *name);
    size_t (*string)(const struct guest_intr *gip, char *buf, size_t buf_len);
    ssize_t (*table_spec)(const struct guest_intr *gip,
    enum guest_table_spec_component component, void *buf, size_t buf_len);
} ;

Data:

unsigned flags

PIC-specific flags.

unsigned pnum_mask

The param mask that isolates the pin index number.

int (*signal)(const struct guest_intr *gip, enum guest_intr_state gis)

Assert or de-assert an interrupt pin.

void (*notify)(const struct guest_intr *gip, enum guest_intr_notifications gin)

Indicate which operations should call guest_intr_notify().

const char * (*parse)(struct guest_intr *gip, const char *name)

Convert a param value referenced by gip into a string.

size_t (*string)(const struct guest_intr *gip, char *buf, size_t buf_len)

Convert a param value referenced by gip into a string.

ssize_t (*table_spec)(const struct guest_intr *gip, enum guest_table_spec_component component, void *buf, size_t buf_len)

Convert *gip into the format required by a firmware table.

Library:

Provided by qvm; no external library is required.