 a23a6d1839
			
		
	
	
		a23a6d1839
		
	
	
	
	
		
			
			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"
 |