diff options
Diffstat (limited to 'usr/src/uts/common/io/virtio/virtio.h')
| -rw-r--r-- | usr/src/uts/common/io/virtio/virtio.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/usr/src/uts/common/io/virtio/virtio.h b/usr/src/uts/common/io/virtio/virtio.h index 420f9ccfed..48e15b28f2 100644 --- a/usr/src/uts/common/io/virtio/virtio.h +++ b/usr/src/uts/common/io/virtio/virtio.h @@ -11,6 +11,7 @@ /* * Copyright 2019 Joyent, Inc. + * Copyright 2022 OmniOS Community Edition (OmniOSce) Association. */ #ifndef _VIRTIO_H @@ -81,6 +82,18 @@ * is usually either negotiated with the device, or determined structurally * based on the shape of the buffers required for device operation. * + * FRAMEWORK INITIALISATION: CONFIGURATION SPACE CHANGE HANDLER + * + * During the initialisation phase, the client driver may register a handler + * function for receiving device configuration space change events. Once + * initialisation has been completed, this cannot be changed without destroying + * the framework object and beginning again from scratch. + * + * When a configuration space change interrupt is received, the provided + * handler will be called with two arguments: first, the provided user data + * argument; and second, a pointer to the "virtio_t" object for this instance. + * The handler is called in an interrupt context. + * * FRAMEWORK INITIALISATION: FINISHING * * Once queue configuration has been completed, the client driver calls @@ -281,6 +294,9 @@ int virtio_init_complete(virtio_t *, int); int virtio_quiesce(virtio_t *); void virtio_shutdown(virtio_t *); +void virtio_register_cfgchange_handler(virtio_t *, ddi_intr_handler_t *, + void *); + void *virtio_intr_pri(virtio_t *); void virtio_device_reset(virtio_t *); |
