Revision 704a76fc hw/virtio.c
b/hw/virtio.c | ||
---|---|---|
445 | 445 |
if (vdev->reset) |
446 | 446 |
vdev->reset(vdev); |
447 | 447 |
|
448 |
vdev->features = 0; |
|
448 |
vdev->guest_features = 0;
|
|
449 | 449 |
vdev->queue_sel = 0; |
450 | 450 |
vdev->status = 0; |
451 | 451 |
vdev->isr = 0; |
... | ... | |
598 | 598 |
{ |
599 | 599 |
/* Always notify when queue is empty (when feature acknowledge) */ |
600 | 600 |
if ((vring_avail_flags(vq) & VRING_AVAIL_F_NO_INTERRUPT) && |
601 |
(!(vdev->features & (1 << VIRTIO_F_NOTIFY_ON_EMPTY)) || |
|
601 |
(!(vdev->guest_features & (1 << VIRTIO_F_NOTIFY_ON_EMPTY)) ||
|
|
602 | 602 |
(vq->inuse || vring_avail_idx(vq) != vq->last_avail_idx))) |
603 | 603 |
return; |
604 | 604 |
|
... | ... | |
625 | 625 |
qemu_put_8s(f, &vdev->status); |
626 | 626 |
qemu_put_8s(f, &vdev->isr); |
627 | 627 |
qemu_put_be16s(f, &vdev->queue_sel); |
628 |
qemu_put_be32s(f, &vdev->features); |
|
628 |
qemu_put_be32s(f, &vdev->guest_features);
|
|
629 | 629 |
qemu_put_be32(f, vdev->config_len); |
630 | 630 |
qemu_put_buffer(f, vdev->config, vdev->config_len); |
631 | 631 |
|
... | ... | |
670 | 670 |
features, supported_features); |
671 | 671 |
return -1; |
672 | 672 |
} |
673 |
vdev->features = features; |
|
673 |
vdev->guest_features = features;
|
|
674 | 674 |
vdev->config_len = qemu_get_be32(f); |
675 | 675 |
qemu_get_buffer(f, vdev->config, vdev->config_len); |
676 | 676 |
|
Also available in: Unified diff