If we modify the virtio-rng virqueue while the vmstate is already migrated we can have some inconsistencies between the virtqueue state and the memory content. To avoid this, stop the virtqueue while the CPU is stopped. Signed-off-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: Amit Shah <amit@kernel.org> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
27 lines
1.5 KiB
Plaintext
27 lines
1.5 KiB
Plaintext
# See docs/tracing.txt for syntax documentation.
|
|
|
|
# hw/virtio/virtio.c
|
|
virtqueue_fill(void *vq, const void *elem, unsigned int len, unsigned int idx) "vq %p elem %p len %u idx %u"
|
|
virtqueue_flush(void *vq, unsigned int count) "vq %p count %u"
|
|
virtqueue_pop(void *vq, void *elem, unsigned int in_num, unsigned int out_num) "vq %p elem %p in_num %u out_num %u"
|
|
virtio_queue_notify(void *vdev, int n, void *vq) "vdev %p n %d vq %p"
|
|
virtio_notify_irqfd(void *vdev, void *vq) "vdev %p vq %p"
|
|
virtio_notify(void *vdev, void *vq) "vdev %p vq %p"
|
|
virtio_set_status(void *vdev, uint8_t val) "vdev %p val %u"
|
|
|
|
# hw/virtio/virtio-rng.c
|
|
virtio_rng_guest_not_ready(void *rng) "rng %p: guest not ready"
|
|
virtio_rng_cpu_is_stopped(void *rng, int size) "rng %p: cpu is stopped, dropping %d bytes"
|
|
virtio_rng_popped(void *rng) "rng %p: elem popped"
|
|
virtio_rng_pushed(void *rng, size_t len) "rng %p: %zd bytes pushed"
|
|
virtio_rng_request(void *rng, size_t size, unsigned quota) "rng %p: %zd bytes requested, %u bytes quota left"
|
|
virtio_rng_vm_state_change(void *rng, int running, int state) "rng %p: state change to running %d state %d"
|
|
|
|
# hw/virtio/virtio-balloon.c
|
|
#
|
|
virtio_balloon_bad_addr(uint64_t gpa) "%"PRIx64
|
|
virtio_balloon_handle_output(const char *name, uint64_t gpa) "section name: %s gpa: %"PRIx64
|
|
virtio_balloon_get_config(uint32_t num_pages, uint32_t actual) "num_pages: %d actual: %d"
|
|
virtio_balloon_set_config(uint32_t actual, uint32_t oldactual) "actual: %d oldactual: %d"
|
|
virtio_balloon_to_target(uint64_t target, uint32_t num_pages) "balloon target: %"PRIx64" num_pages: %d"
|