virtio.h (ab223c95) virtio.h (0b352fd6)
1/*
2 * Virtio Support
3 *
4 * Copyright IBM, Corp. 2007
5 *
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
8 *

--- 85 unchanged lines hidden (view full) ---

94 /*< public >*/
95
96 /* This is what a VirtioDevice must implement */
97 DeviceRealize realize;
98 DeviceUnrealize unrealize;
99 uint64_t (*get_features)(VirtIODevice *vdev, uint64_t requested_features);
100 uint64_t (*bad_features)(VirtIODevice *vdev);
101 void (*set_features)(VirtIODevice *vdev, uint64_t val);
1/*
2 * Virtio Support
3 *
4 * Copyright IBM, Corp. 2007
5 *
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
8 *

--- 85 unchanged lines hidden (view full) ---

94 /*< public >*/
95
96 /* This is what a VirtioDevice must implement */
97 DeviceRealize realize;
98 DeviceUnrealize unrealize;
99 uint64_t (*get_features)(VirtIODevice *vdev, uint64_t requested_features);
100 uint64_t (*bad_features)(VirtIODevice *vdev);
101 void (*set_features)(VirtIODevice *vdev, uint64_t val);
102 int (*validate_features)(VirtIODevice *vdev);
102 void (*get_config)(VirtIODevice *vdev, uint8_t *config);
103 void (*set_config)(VirtIODevice *vdev, const uint8_t *config);
104 void (*reset)(VirtIODevice *vdev);
105 void (*set_status)(VirtIODevice *vdev, uint8_t val);
106 /* Test and clear event pending status.
107 * Should be called after unmask to avoid losing events.
108 * If backend does not support masking,
109 * must check in frontend instead.

--- 69 unchanged lines hidden (view full) ---

179int virtio_get_num_queues(VirtIODevice *vdev);
180void virtio_queue_set_rings(VirtIODevice *vdev, int n, hwaddr desc,
181 hwaddr avail, hwaddr used);
182void virtio_queue_update_rings(VirtIODevice *vdev, int n);
183void virtio_queue_set_align(VirtIODevice *vdev, int n, int align);
184void virtio_queue_notify(VirtIODevice *vdev, int n);
185uint16_t virtio_queue_vector(VirtIODevice *vdev, int n);
186void virtio_queue_set_vector(VirtIODevice *vdev, int n, uint16_t vector);
103 void (*get_config)(VirtIODevice *vdev, uint8_t *config);
104 void (*set_config)(VirtIODevice *vdev, const uint8_t *config);
105 void (*reset)(VirtIODevice *vdev);
106 void (*set_status)(VirtIODevice *vdev, uint8_t val);
107 /* Test and clear event pending status.
108 * Should be called after unmask to avoid losing events.
109 * If backend does not support masking,
110 * must check in frontend instead.

--- 69 unchanged lines hidden (view full) ---

180int virtio_get_num_queues(VirtIODevice *vdev);
181void virtio_queue_set_rings(VirtIODevice *vdev, int n, hwaddr desc,
182 hwaddr avail, hwaddr used);
183void virtio_queue_update_rings(VirtIODevice *vdev, int n);
184void virtio_queue_set_align(VirtIODevice *vdev, int n, int align);
185void virtio_queue_notify(VirtIODevice *vdev, int n);
186uint16_t virtio_queue_vector(VirtIODevice *vdev, int n);
187void virtio_queue_set_vector(VirtIODevice *vdev, int n, uint16_t vector);
187void virtio_set_status(VirtIODevice *vdev, uint8_t val);
188int virtio_set_status(VirtIODevice *vdev, uint8_t val);
188void virtio_reset(void *opaque);
189void virtio_update_irq(VirtIODevice *vdev);
190int virtio_set_features(VirtIODevice *vdev, uint64_t val);
191
192/* Base devices. */
193typedef struct VirtIOBlkConf VirtIOBlkConf;
194struct virtio_net_conf;
195typedef struct virtio_serial_conf virtio_serial_conf;

--- 70 unchanged lines hidden ---
189void virtio_reset(void *opaque);
190void virtio_update_irq(VirtIODevice *vdev);
191int virtio_set_features(VirtIODevice *vdev, uint64_t val);
192
193/* Base devices. */
194typedef struct VirtIOBlkConf VirtIOBlkConf;
195struct virtio_net_conf;
196typedef struct virtio_serial_conf virtio_serial_conf;

--- 70 unchanged lines hidden ---