Lines Matching defs:vdev

75     struct virtio_device *vdev = *dev;
77 assert(vdev);
79 vdev->state = VIRTIO_DEVICE_S_INITIALIZING;
80 strncpy(vdev->dev_name, setup->dev_name, sizeof(vdev->dev_name));
81 vdev->setup_fn = setup->setup_fn;
82 vdev->dev_t_st = setup->dev_t_st;
83 vdev->dev_cap = setup->dev_cap;
86 err = virtio_device_reset(vdev);
92 err = virtio_device_set_status(vdev, VIRTIO_DEVICE_STATUS_ACKNOWLEDGE);
98 err = virtio_device_set_status(vdev, VIRTIO_DEVICE_STATUS_DRIVER);
106 err = virtio_device_feature_negotiate(vdev, setup->features);
112 err = virtio_device_set_status(vdev, VIRTIO_DEVICE_STATUS_FEATURES_OK);
120 err = virtio_device_get_status(vdev, &status);
129 err = virtio_device_specific_setup(vdev, setup->setup_arg);
134 VIRTIO_DEBUG_DEV("Device [%s] is now live.\n", vdev->dev_name);
135 err = virtio_device_set_status(vdev, VIRTIO_DEVICE_STATUS_DRIVER_OK);
141 VIRTIO_DEBUG_DEV("Device initialization for [%s] failed..\n", vdev->dev_name);
142 virtio_device_set_status(vdev, VIRTIO_DEVICE_STATUS_FAILED);
288 * \param vdev to get the device specific pointer
292 void *virtio_device_get_type_state(struct virtio_device *vdev)
294 return vdev->dev_t_st;
301 * \param vdev VirtIO device
306 errval_t virtio_device_notify_host(struct virtio_device *vdev,
309 if (vdev->f->notify) {
310 vdev->f->notify(vdev, virtq_id);
318 * \param vdev virtio device
324 errval_t virtio_device_config_read(struct virtio_device *vdev,
328 if (vdev->f->get_config) {
329 return vdev->f->get_config(vdev, buf, len);
338 * \param vdev virtio device
385 * \param vdev VirtIO device
391 struct virtqueue_host *virtio_device_get_host_virtq(struct virtio_device *vdev,
394 if (vq_idx < vdev->vq_num) {
395 return vdev->vqh[vq_idx];
416 * \param vdev virtio device to allocate the queues for
422 errval_t virtio_device_virtqueue_alloc(struct virtio_device *vdev,
428 VIRTIO_DEBUG_VQ("Allocating %u virtqueues for [%s].\n", vq_num, vdev->dev_name);
430 vdev->vq = calloc(vq_num, sizeof(void *));
431 if (vdev->vq == NULL) {
439 setup->device = vdev;
440 err = virtio_virtqueue_alloc(setup, &vdev->vq[i]);
443 virtio_virtqueue_free(vdev->vq[i]);
445 free(vdev->vq);
452 struct virtqueue *vq = vdev->vq[i];
458 err = virtio_device_set_virtq(vdev, vq);
466 vdev->vq_num = vq_num;
474 * \param vdev VirtIO device
480 struct virtqueue *virtio_device_get_virtq(struct virtio_device *vdev,
483 if (vq_idx < vdev->vq_num) {
484 return vdev->vq[vq_idx];