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 guest_intr_t *gip, guest_intr_state_t gis);
    void (*notify)(const guest_intr_t *gip, guest_intr_notifications_t gin);
    const char* (*parse)(guest_intr_t *gip, const char *name);
    size_t (*string)(const guest_intr_t *gip, char *buf, size_t buf_len);
    ssize_t (*table_spec)(const guest_intr_t *gip,
             fw_table_payload_fmt_t payload_fmt, void *buf, size_t buf_len);
    ssize_t (*table_decode)(const void* buf,
             size_t buf_len, fw_table_payload_fmt_t payload_fmt, guest_intr_t *gip);
};

Data:

unsigned flags
PIC-specific flags.
unsigned pnum_mask
The param mask that isolates the pin index number.
int (*signal)(const guest_intr_t *gip, guest_intr_state_t gis)
Assert or de-assert an interrupt pin.
void (*notify)(const guest_intr_t *gip, guest_intr_notifications_t gin)
Indicate which operations should call guest_pic_intr_notify().
const char* (*parse)(guest_intr_t *gip, const char *name)
Parse a string into a gip->param value (see guest_intr_t).
size_t (*string)(const guest_intr_t *gip, char *buf, size_t buf_len)
Convert a gip->param value back into a string (see guest_intr_t).
ssize_t (*table_spec)(const guest_intr_t *gip, fw_table_payload_fmt_t payload_fmt, void *buf, size_t buf_len)
Convert *gip into the format required by a firmware table.
ssize_t (*table_decode)(const void* buf, size_t buf_len, fw_table_payload_fmt_t payload_fmt, guest_intr_t *gip)
Convert firmware table data into a guest_intr_t.
Page updated: