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)

Parse a string into a gip->param value (see guest_intr).

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

Convert a gip->param value back into a string (see guest_intr).

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.