9bb3801994
We need a better way, but at the moment we need the address of the mappings sent back to qemu so it can interpret the messages on the userfaultfd it reads. This is done as a 3 stage set: QEMU -> client set_mem_table mmap stuff, get addresses client -> qemu here are the addresses qemu -> client OK - now you can use them That ensures that qemu has registered the new addresses in it's userfault code before the client starts accessing them. Note: We don't ask for the default 'ack' reply since we've got our own. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
38 lines
2.2 KiB
Plaintext
38 lines
2.2 KiB
Plaintext
# See docs/devel/tracing.txt for syntax documentation.
|
|
|
|
# hw/virtio/vhost.c
|
|
vhost_commit(bool started, bool changed) "Started: %d Changed: %d"
|
|
vhost_region_add_section(const char *name, uint64_t gpa, uint64_t size, uint64_t host) "%s: 0x%"PRIx64"+0x%"PRIx64" @ 0x%"PRIx64
|
|
vhost_region_add_section_abut(const char *name, uint64_t new_size) "%s: 0x%"PRIx64
|
|
vhost_section(const char *name, int r) "%s:%d"
|
|
|
|
# hw/virtio/vhost-user.c
|
|
vhost_user_postcopy_listen(void) ""
|
|
vhost_user_set_mem_table_postcopy(uint64_t client_addr, uint64_t qhva, int reply_i, int region_i) "client:0x%"PRIx64" for hva: 0x%"PRIx64" reply %d region %d"
|
|
|
|
# hw/virtio/virtio.c
|
|
virtqueue_alloc_element(void *elem, size_t sz, unsigned in_num, unsigned out_num) "elem %p size %zd in_num %u out_num %u"
|
|
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) "0x%"PRIx64
|
|
virtio_balloon_handle_output(const char *name, uint64_t gpa) "section name: %s gpa: 0x%"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: 0x%"PRIx64" num_pages: %d"
|