From 27c6ef1b5857b1447f0a0f8da4bd7df3e1a7a637 Mon Sep 17 00:00:00 2001 From: Li Qiang Date: Tue, 30 Oct 2018 08:16:37 -0700 Subject: [PATCH 01/30] hw: qdev: fix error in comment Cc: qemu-trivial@nongnu.org Signed-off-by: Li Qiang Reviewed-by: Laurent Vivier Message-Id: <20181030151637.37207-1-liq3ea@163.com> Signed-off-by: Laurent Vivier --- include/hw/qdev-core.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index a24d0dd566..92851e55df 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -197,7 +197,7 @@ typedef struct BusChild { /** * BusState: - * @hotplug_device: link to a hotplug device associated with bus. + * @hotplug_handler: link to a hotplug handler associated with bus. */ struct BusState { Object obj; From e4fbf5b2454e23d3b7050b54702cd451117252d8 Mon Sep 17 00:00:00 2001 From: Dongli Zhang Date: Fri, 2 Nov 2018 14:16:36 +0800 Subject: [PATCH 02/30] virtio: pass argument by value for virtqueue_map_iovec() Pass num_sg by value instead of by pointer, as num_sg is never modified in virtqueue_map_iovec(). Signed-off-by: Dongli Zhang Reviewed-by: Paolo Bonzini Message-Id: <1541139396-4727-1-git-send-email-dongli.zhang@oracle.com> Signed-off-by: Laurent Vivier --- hw/virtio/virtio.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index 5828ed14df..22bd1ac34e 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -796,13 +796,13 @@ static void virtqueue_undo_map_desc(unsigned int out_num, unsigned int in_num, } static void virtqueue_map_iovec(VirtIODevice *vdev, struct iovec *sg, - hwaddr *addr, unsigned int *num_sg, + hwaddr *addr, unsigned int num_sg, int is_write) { unsigned int i; hwaddr len; - for (i = 0; i < *num_sg; i++) { + for (i = 0; i < num_sg; i++) { len = sg[i].iov_len; sg[i].iov_base = dma_memory_map(vdev->dma_as, addr[i], &len, is_write ? @@ -821,8 +821,8 @@ static void virtqueue_map_iovec(VirtIODevice *vdev, struct iovec *sg, void virtqueue_map(VirtIODevice *vdev, VirtQueueElement *elem) { - virtqueue_map_iovec(vdev, elem->in_sg, elem->in_addr, &elem->in_num, 1); - virtqueue_map_iovec(vdev, elem->out_sg, elem->out_addr, &elem->out_num, 0); + virtqueue_map_iovec(vdev, elem->in_sg, elem->in_addr, elem->in_num, 1); + virtqueue_map_iovec(vdev, elem->out_sg, elem->out_addr, elem->out_num, 0); } static void *virtqueue_alloc_element(size_t sz, unsigned out_num, unsigned in_num) From df68a7f3c8c677165ba875d15c228ab4d0225abd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Mon, 5 Nov 2018 17:54:00 +0400 Subject: [PATCH 03/30] misc: fix spelling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marc-André Lureau Reviewed-by: Laurent Vivier Message-Id: <20181105135400.18366-1-marcandre.lureau@redhat.com> Signed-off-by: Laurent Vivier --- target/i386/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index f81d35e1f9..748eaf8367 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -4065,7 +4065,7 @@ arch_query_cpu_model_expansion(CpuModelExpansionType type, x86_cpu_to_dict_full(xc, props); break; default: - error_setg(&err, "Unsupportted expansion type"); + error_setg(&err, "Unsupported expansion type"); goto out; } From afb73d575d821b48456fd8ef9df4c504b0cd84f4 Mon Sep 17 00:00:00 2001 From: Li Qiang Date: Fri, 9 Nov 2018 00:13:34 -0800 Subject: [PATCH 04/30] hw: set_netdev: remove useless code In set_netdev(), the peers[i] is initialized qemu_find_net_clients_except() when i is in 0 between 'queues' it can't be NULL. Signed-off-by: Li Qiang Reviewed-by: Laurent Vivier Reviewed-by: Thomas Huth Reviewed-by: Paolo Bonzini Message-Id: <1541751214-17515-1-git-send-email-liq3ea@gmail.com> Signed-off-by: Laurent Vivier --- hw/core/qdev-properties-system.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c index 8b22fb51c9..b45a7ef54b 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -288,10 +288,6 @@ static void set_netdev(Object *obj, Visitor *v, const char *name, } for (i = 0; i < queues; i++) { - if (peers[i] == NULL) { - err = -ENOENT; - goto out; - } if (peers[i]->peer) { err = -EEXIST; From bf582c3461b23b1b9f1565d0ffbdc9e1ce076f8e Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Fri, 16 Nov 2018 14:00:16 -0600 Subject: [PATCH 05/30] qapi: Reduce Makefile boilerplate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding a new qapi module had some rather tedious repetition to wire it into Makefile, Makefile.objs, and .gitignore (for example, see commit bf42508f and its followup b61acdec). For make, add some indirection by taking advantage of GNU Make string processing to expand a list of module names into all the required artifacts, so that future additions of a new module need only touch the list of module names. And for gitignore, use globs to cover all generated file names. The list has to live in Makefile.objs, due to the way that our unnest-vars macro slirps in that file without remembering any definition of $(QAPI_MODULES) from Makefile. Signed-off-by: Eric Blake Reviewed-by: Daniel P. Berrangé Reviewed-by: Markus Armbruster Tested-by: Yuval Shaia Message-Id: <20181116200016.2080785-1-eblake@redhat.com> Signed-off-by: Laurent Vivier --- .gitignore | 72 ++----------------- Makefile | 192 ++++++-------------------------------------------- Makefile.objs | 75 ++------------------ 3 files changed, 34 insertions(+), 305 deletions(-) diff --git a/.gitignore b/.gitignore index 64efdfd929..0430257313 100644 --- a/.gitignore +++ b/.gitignore @@ -30,78 +30,14 @@ /qapi-gen-timestamp /qapi/qapi-builtin-types.[ch] /qapi/qapi-builtin-visit.[ch] -/qapi/qapi-commands-block-core.[ch] -/qapi/qapi-commands-block.[ch] -/qapi/qapi-commands-char.[ch] -/qapi/qapi-commands-common.[ch] -/qapi/qapi-commands-crypto.[ch] -/qapi/qapi-commands-introspect.[ch] -/qapi/qapi-commands-job.[ch] -/qapi/qapi-commands-migration.[ch] -/qapi/qapi-commands-misc.[ch] -/qapi/qapi-commands-net.[ch] -/qapi/qapi-commands-rocker.[ch] -/qapi/qapi-commands-run-state.[ch] -/qapi/qapi-commands-sockets.[ch] -/qapi/qapi-commands-tpm.[ch] -/qapi/qapi-commands-trace.[ch] -/qapi/qapi-commands-transaction.[ch] -/qapi/qapi-commands-ui.[ch] +/qapi/qapi-commands-*.[ch] /qapi/qapi-commands.[ch] -/qapi/qapi-events-block-core.[ch] -/qapi/qapi-events-block.[ch] -/qapi/qapi-events-char.[ch] -/qapi/qapi-events-common.[ch] -/qapi/qapi-events-crypto.[ch] -/qapi/qapi-events-introspect.[ch] -/qapi/qapi-events-job.[ch] -/qapi/qapi-events-migration.[ch] -/qapi/qapi-events-misc.[ch] -/qapi/qapi-events-net.[ch] -/qapi/qapi-events-rocker.[ch] -/qapi/qapi-events-run-state.[ch] -/qapi/qapi-events-sockets.[ch] -/qapi/qapi-events-tpm.[ch] -/qapi/qapi-events-trace.[ch] -/qapi/qapi-events-transaction.[ch] -/qapi/qapi-events-ui.[ch] +/qapi/qapi-events-*.[ch] /qapi/qapi-events.[ch] /qapi/qapi-introspect.[ch] -/qapi/qapi-types-block-core.[ch] -/qapi/qapi-types-block.[ch] -/qapi/qapi-types-char.[ch] -/qapi/qapi-types-common.[ch] -/qapi/qapi-types-crypto.[ch] -/qapi/qapi-types-introspect.[ch] -/qapi/qapi-types-job.[ch] -/qapi/qapi-types-migration.[ch] -/qapi/qapi-types-misc.[ch] -/qapi/qapi-types-net.[ch] -/qapi/qapi-types-rocker.[ch] -/qapi/qapi-types-run-state.[ch] -/qapi/qapi-types-sockets.[ch] -/qapi/qapi-types-tpm.[ch] -/qapi/qapi-types-trace.[ch] -/qapi/qapi-types-transaction.[ch] -/qapi/qapi-types-ui.[ch] +/qapi/qapi-types-*.[ch] /qapi/qapi-types.[ch] -/qapi/qapi-visit-block-core.[ch] -/qapi/qapi-visit-block.[ch] -/qapi/qapi-visit-char.[ch] -/qapi/qapi-visit-common.[ch] -/qapi/qapi-visit-crypto.[ch] -/qapi/qapi-visit-introspect.[ch] -/qapi/qapi-visit-job.[ch] -/qapi/qapi-visit-migration.[ch] -/qapi/qapi-visit-misc.[ch] -/qapi/qapi-visit-net.[ch] -/qapi/qapi-visit-rocker.[ch] -/qapi/qapi-visit-run-state.[ch] -/qapi/qapi-visit-sockets.[ch] -/qapi/qapi-visit-tpm.[ch] -/qapi/qapi-visit-trace.[ch] -/qapi/qapi-visit-transaction.[ch] -/qapi/qapi-visit-ui.[ch] +/qapi/qapi-visit-*.[ch] /qapi/qapi-visit.[ch] /qapi/qapi-doc.texi /qemu-doc.html diff --git a/Makefile b/Makefile index f2947186a4..c8b9efdad4 100644 --- a/Makefile +++ b/Makefile @@ -88,82 +88,26 @@ endif include $(SRC_PATH)/rules.mak GENERATED_FILES = qemu-version.h config-host.h qemu-options.def -GENERATED_FILES += qapi/qapi-builtin-types.h qapi/qapi-builtin-types.c -GENERATED_FILES += qapi/qapi-types.h qapi/qapi-types.c -GENERATED_FILES += qapi/qapi-types-block-core.h qapi/qapi-types-block-core.c -GENERATED_FILES += qapi/qapi-types-block.h qapi/qapi-types-block.c -GENERATED_FILES += qapi/qapi-types-char.h qapi/qapi-types-char.c -GENERATED_FILES += qapi/qapi-types-common.h qapi/qapi-types-common.c -GENERATED_FILES += qapi/qapi-types-crypto.h qapi/qapi-types-crypto.c -GENERATED_FILES += qapi/qapi-types-introspect.h qapi/qapi-types-introspect.c -GENERATED_FILES += qapi/qapi-types-job.h qapi/qapi-types-job.c -GENERATED_FILES += qapi/qapi-types-migration.h qapi/qapi-types-migration.c -GENERATED_FILES += qapi/qapi-types-misc.h qapi/qapi-types-misc.c -GENERATED_FILES += qapi/qapi-types-net.h qapi/qapi-types-net.c -GENERATED_FILES += qapi/qapi-types-rocker.h qapi/qapi-types-rocker.c -GENERATED_FILES += qapi/qapi-types-run-state.h qapi/qapi-types-run-state.c -GENERATED_FILES += qapi/qapi-types-sockets.h qapi/qapi-types-sockets.c -GENERATED_FILES += qapi/qapi-types-tpm.h qapi/qapi-types-tpm.c -GENERATED_FILES += qapi/qapi-types-trace.h qapi/qapi-types-trace.c -GENERATED_FILES += qapi/qapi-types-transaction.h qapi/qapi-types-transaction.c -GENERATED_FILES += qapi/qapi-types-ui.h qapi/qapi-types-ui.c -GENERATED_FILES += qapi/qapi-builtin-visit.h qapi/qapi-builtin-visit.c -GENERATED_FILES += qapi/qapi-visit.h qapi/qapi-visit.c -GENERATED_FILES += qapi/qapi-visit-block-core.h qapi/qapi-visit-block-core.c -GENERATED_FILES += qapi/qapi-visit-block.h qapi/qapi-visit-block.c -GENERATED_FILES += qapi/qapi-visit-char.h qapi/qapi-visit-char.c -GENERATED_FILES += qapi/qapi-visit-common.h qapi/qapi-visit-common.c -GENERATED_FILES += qapi/qapi-visit-crypto.h qapi/qapi-visit-crypto.c -GENERATED_FILES += qapi/qapi-visit-introspect.h qapi/qapi-visit-introspect.c -GENERATED_FILES += qapi/qapi-visit-job.h qapi/qapi-visit-job.c -GENERATED_FILES += qapi/qapi-visit-migration.h qapi/qapi-visit-migration.c -GENERATED_FILES += qapi/qapi-visit-misc.h qapi/qapi-visit-misc.c -GENERATED_FILES += qapi/qapi-visit-net.h qapi/qapi-visit-net.c -GENERATED_FILES += qapi/qapi-visit-rocker.h qapi/qapi-visit-rocker.c -GENERATED_FILES += qapi/qapi-visit-run-state.h qapi/qapi-visit-run-state.c -GENERATED_FILES += qapi/qapi-visit-sockets.h qapi/qapi-visit-sockets.c -GENERATED_FILES += qapi/qapi-visit-tpm.h qapi/qapi-visit-tpm.c -GENERATED_FILES += qapi/qapi-visit-trace.h qapi/qapi-visit-trace.c -GENERATED_FILES += qapi/qapi-visit-transaction.h qapi/qapi-visit-transaction.c -GENERATED_FILES += qapi/qapi-visit-ui.h qapi/qapi-visit-ui.c -GENERATED_FILES += qapi/qapi-commands.h qapi/qapi-commands.c -GENERATED_FILES += qapi/qapi-commands-block-core.h qapi/qapi-commands-block-core.c -GENERATED_FILES += qapi/qapi-commands-block.h qapi/qapi-commands-block.c -GENERATED_FILES += qapi/qapi-commands-char.h qapi/qapi-commands-char.c -GENERATED_FILES += qapi/qapi-commands-common.h qapi/qapi-commands-common.c -GENERATED_FILES += qapi/qapi-commands-crypto.h qapi/qapi-commands-crypto.c -GENERATED_FILES += qapi/qapi-commands-introspect.h qapi/qapi-commands-introspect.c -GENERATED_FILES += qapi/qapi-commands-job.h qapi/qapi-commands-job.c -GENERATED_FILES += qapi/qapi-commands-migration.h qapi/qapi-commands-migration.c -GENERATED_FILES += qapi/qapi-commands-misc.h qapi/qapi-commands-misc.c -GENERATED_FILES += qapi/qapi-commands-net.h qapi/qapi-commands-net.c -GENERATED_FILES += qapi/qapi-commands-rocker.h qapi/qapi-commands-rocker.c -GENERATED_FILES += qapi/qapi-commands-run-state.h qapi/qapi-commands-run-state.c -GENERATED_FILES += qapi/qapi-commands-sockets.h qapi/qapi-commands-sockets.c -GENERATED_FILES += qapi/qapi-commands-tpm.h qapi/qapi-commands-tpm.c -GENERATED_FILES += qapi/qapi-commands-trace.h qapi/qapi-commands-trace.c -GENERATED_FILES += qapi/qapi-commands-transaction.h qapi/qapi-commands-transaction.c -GENERATED_FILES += qapi/qapi-commands-ui.h qapi/qapi-commands-ui.c -GENERATED_FILES += qapi/qapi-events.h qapi/qapi-events.c -GENERATED_FILES += qapi/qapi-events-block-core.h qapi/qapi-events-block-core.c -GENERATED_FILES += qapi/qapi-events-block.h qapi/qapi-events-block.c -GENERATED_FILES += qapi/qapi-events-char.h qapi/qapi-events-char.c -GENERATED_FILES += qapi/qapi-events-common.h qapi/qapi-events-common.c -GENERATED_FILES += qapi/qapi-events-crypto.h qapi/qapi-events-crypto.c -GENERATED_FILES += qapi/qapi-events-introspect.h qapi/qapi-events-introspect.c -GENERATED_FILES += qapi/qapi-events-job.h qapi/qapi-events-job.c -GENERATED_FILES += qapi/qapi-events-migration.h qapi/qapi-events-migration.c -GENERATED_FILES += qapi/qapi-events-misc.h qapi/qapi-events-misc.c -GENERATED_FILES += qapi/qapi-events-net.h qapi/qapi-events-net.c -GENERATED_FILES += qapi/qapi-events-rocker.h qapi/qapi-events-rocker.c -GENERATED_FILES += qapi/qapi-events-run-state.h qapi/qapi-events-run-state.c -GENERATED_FILES += qapi/qapi-events-sockets.h qapi/qapi-events-sockets.c -GENERATED_FILES += qapi/qapi-events-tpm.h qapi/qapi-events-tpm.c -GENERATED_FILES += qapi/qapi-events-trace.h qapi/qapi-events-trace.c -GENERATED_FILES += qapi/qapi-events-transaction.h qapi/qapi-events-transaction.c -GENERATED_FILES += qapi/qapi-events-ui.h qapi/qapi-events-ui.c -GENERATED_FILES += qapi/qapi-introspect.c qapi/qapi-introspect.h -GENERATED_FILES += qapi/qapi-doc.texi + +#see Makefile.objs for the definition of QAPI_MODULES +GENERATED_QAPI_FILES = qapi/qapi-builtin-types.h qapi/qapi-builtin-types.c +GENERATED_QAPI_FILES += qapi/qapi-types.h qapi/qapi-types.c +GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-types-%.h) +GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-types-%.c) +GENERATED_QAPI_FILES += qapi/qapi-builtin-visit.h qapi/qapi-builtin-visit.c +GENERATED_QAPI_FILES += qapi/qapi-visit.h qapi/qapi-visit.c +GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-visit-%.h) +GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-visit-%.c) +GENERATED_QAPI_FILES += qapi/qapi-commands.h qapi/qapi-commands.c +GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-commands-%.h) +GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-commands-%.c) +GENERATED_QAPI_FILES += qapi/qapi-events.h qapi/qapi-events.c +GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-events-%.h) +GENERATED_QAPI_FILES += $(QAPI_MODULES:%=qapi/qapi-events-%.c) +GENERATED_QAPI_FILES += qapi/qapi-introspect.c qapi/qapi-introspect.h +GENERATED_QAPI_FILES += qapi/qapi-doc.texi + +GENERATED_FILES += $(GENERATED_QAPI_FILES) GENERATED_FILES += trace/generated-tcg-tracers.h @@ -583,100 +527,10 @@ qga/qapi-generated/qapi-gen-timestamp: $(SRC_PATH)/qga/qapi-schema.json $(qapi-p "GEN","$(@:%-timestamp=%)") @>$@ -qapi-modules = $(SRC_PATH)/qapi/qapi-schema.json $(SRC_PATH)/qapi/common.json \ - $(SRC_PATH)/qapi/block.json $(SRC_PATH)/qapi/block-core.json \ - $(SRC_PATH)/qapi/char.json \ - $(SRC_PATH)/qapi/crypto.json \ - $(SRC_PATH)/qapi/introspect.json \ - $(SRC_PATH)/qapi/job.json \ - $(SRC_PATH)/qapi/migration.json \ - $(SRC_PATH)/qapi/misc.json \ - $(SRC_PATH)/qapi/net.json \ - $(SRC_PATH)/qapi/rocker.json \ - $(SRC_PATH)/qapi/run-state.json \ - $(SRC_PATH)/qapi/sockets.json \ - $(SRC_PATH)/qapi/tpm.json \ - $(SRC_PATH)/qapi/trace.json \ - $(SRC_PATH)/qapi/transaction.json \ - $(SRC_PATH)/qapi/ui.json +qapi-modules = $(SRC_PATH)/qapi/qapi-schema.json \ + $(QAPI_MODULES:%=$(SRC_PATH)/qapi/%.json) -qapi/qapi-builtin-types.c qapi/qapi-builtin-types.h \ -qapi/qapi-types.c qapi/qapi-types.h \ -qapi/qapi-types-block-core.c qapi/qapi-types-block-core.h \ -qapi/qapi-types-block.c qapi/qapi-types-block.h \ -qapi/qapi-types-char.c qapi/qapi-types-char.h \ -qapi/qapi-types-common.c qapi/qapi-types-common.h \ -qapi/qapi-types-crypto.c qapi/qapi-types-crypto.h \ -qapi/qapi-types-introspect.c qapi/qapi-types-introspect.h \ -qapi/qapi-types-job.c qapi/qapi-types-job.h \ -qapi/qapi-types-migration.c qapi/qapi-types-migration.h \ -qapi/qapi-types-misc.c qapi/qapi-types-misc.h \ -qapi/qapi-types-net.c qapi/qapi-types-net.h \ -qapi/qapi-types-rocker.c qapi/qapi-types-rocker.h \ -qapi/qapi-types-run-state.c qapi/qapi-types-run-state.h \ -qapi/qapi-types-sockets.c qapi/qapi-types-sockets.h \ -qapi/qapi-types-tpm.c qapi/qapi-types-tpm.h \ -qapi/qapi-types-trace.c qapi/qapi-types-trace.h \ -qapi/qapi-types-transaction.c qapi/qapi-types-transaction.h \ -qapi/qapi-types-ui.c qapi/qapi-types-ui.h \ -qapi/qapi-builtin-visit.c qapi/qapi-builtin-visit.h \ -qapi/qapi-visit.c qapi/qapi-visit.h \ -qapi/qapi-visit-block-core.c qapi/qapi-visit-block-core.h \ -qapi/qapi-visit-block.c qapi/qapi-visit-block.h \ -qapi/qapi-visit-char.c qapi/qapi-visit-char.h \ -qapi/qapi-visit-common.c qapi/qapi-visit-common.h \ -qapi/qapi-visit-crypto.c qapi/qapi-visit-crypto.h \ -qapi/qapi-visit-introspect.c qapi/qapi-visit-introspect.h \ -qapi/qapi-visit-job.c qapi/qapi-visit-job.h \ -qapi/qapi-visit-migration.c qapi/qapi-visit-migration.h \ -qapi/qapi-visit-misc.c qapi/qapi-visit-misc.h \ -qapi/qapi-visit-net.c qapi/qapi-visit-net.h \ -qapi/qapi-visit-rocker.c qapi/qapi-visit-rocker.h \ -qapi/qapi-visit-run-state.c qapi/qapi-visit-run-state.h \ -qapi/qapi-visit-sockets.c qapi/qapi-visit-sockets.h \ -qapi/qapi-visit-tpm.c qapi/qapi-visit-tpm.h \ -qapi/qapi-visit-trace.c qapi/qapi-visit-trace.h \ -qapi/qapi-visit-transaction.c qapi/qapi-visit-transaction.h \ -qapi/qapi-visit-ui.c qapi/qapi-visit-ui.h \ -qapi/qapi-commands.h qapi/qapi-commands.c \ -qapi/qapi-commands-block-core.c qapi/qapi-commands-block-core.h \ -qapi/qapi-commands-block.c qapi/qapi-commands-block.h \ -qapi/qapi-commands-char.c qapi/qapi-commands-char.h \ -qapi/qapi-commands-common.c qapi/qapi-commands-common.h \ -qapi/qapi-commands-crypto.c qapi/qapi-commands-crypto.h \ -qapi/qapi-commands-introspect.c qapi/qapi-commands-introspect.h \ -qapi/qapi-commands-job.c qapi/qapi-commands-job.h \ -qapi/qapi-commands-migration.c qapi/qapi-commands-migration.h \ -qapi/qapi-commands-misc.c qapi/qapi-commands-misc.h \ -qapi/qapi-commands-net.c qapi/qapi-commands-net.h \ -qapi/qapi-commands-rocker.c qapi/qapi-commands-rocker.h \ -qapi/qapi-commands-run-state.c qapi/qapi-commands-run-state.h \ -qapi/qapi-commands-sockets.c qapi/qapi-commands-sockets.h \ -qapi/qapi-commands-tpm.c qapi/qapi-commands-tpm.h \ -qapi/qapi-commands-trace.c qapi/qapi-commands-trace.h \ -qapi/qapi-commands-transaction.c qapi/qapi-commands-transaction.h \ -qapi/qapi-commands-ui.c qapi/qapi-commands-ui.h \ -qapi/qapi-events.c qapi/qapi-events.h \ -qapi/qapi-events-block-core.c qapi/qapi-events-block-core.h \ -qapi/qapi-events-block.c qapi/qapi-events-block.h \ -qapi/qapi-events-char.c qapi/qapi-events-char.h \ -qapi/qapi-events-common.c qapi/qapi-events-common.h \ -qapi/qapi-events-crypto.c qapi/qapi-events-crypto.h \ -qapi/qapi-events-introspect.c qapi/qapi-events-introspect.h \ -qapi/qapi-events-job.c qapi/qapi-events-job.h \ -qapi/qapi-events-migration.c qapi/qapi-events-migration.h \ -qapi/qapi-events-misc.c qapi/qapi-events-misc.h \ -qapi/qapi-events-net.c qapi/qapi-events-net.h \ -qapi/qapi-events-rocker.c qapi/qapi-events-rocker.h \ -qapi/qapi-events-run-state.c qapi/qapi-events-run-state.h \ -qapi/qapi-events-sockets.c qapi/qapi-events-sockets.h \ -qapi/qapi-events-tpm.c qapi/qapi-events-tpm.h \ -qapi/qapi-events-trace.c qapi/qapi-events-trace.h \ -qapi/qapi-events-transaction.c qapi/qapi-events-transaction.h \ -qapi/qapi-events-ui.c qapi/qapi-events-ui.h \ -qapi/qapi-introspect.h qapi/qapi-introspect.c \ -qapi/qapi-doc.texi: \ -qapi-gen-timestamp ; +$(GENERATED_QAPI_FILES): qapi-gen-timestamp ; qapi-gen-timestamp: $(qapi-modules) $(qapi-py) $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi-gen.py \ -o "qapi" -b $<, \ diff --git a/Makefile.objs b/Makefile.objs index 1e1ff387d7..56af0347d3 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -1,63 +1,18 @@ +QAPI_MODULES = block-core block char common crypto introspect job migration +QAPI_MODULES += misc net rocker run-state sockets tpm trace transaction ui + ####################################################################### # Common libraries for tools and emulators stub-obj-y = stubs/ crypto/ util-obj-y = util/ qobject/ qapi/ util-obj-y += qapi/qapi-builtin-types.o util-obj-y += qapi/qapi-types.o -util-obj-y += qapi/qapi-types-block-core.o -util-obj-y += qapi/qapi-types-block.o -util-obj-y += qapi/qapi-types-char.o -util-obj-y += qapi/qapi-types-common.o -util-obj-y += qapi/qapi-types-crypto.o -util-obj-y += qapi/qapi-types-introspect.o -util-obj-y += qapi/qapi-types-job.o -util-obj-y += qapi/qapi-types-migration.o -util-obj-y += qapi/qapi-types-misc.o -util-obj-y += qapi/qapi-types-net.o -util-obj-y += qapi/qapi-types-rocker.o -util-obj-y += qapi/qapi-types-run-state.o -util-obj-y += qapi/qapi-types-sockets.o -util-obj-y += qapi/qapi-types-tpm.o -util-obj-y += qapi/qapi-types-trace.o -util-obj-y += qapi/qapi-types-transaction.o -util-obj-y += qapi/qapi-types-ui.o +util-obj-y += $(QAPI_MODULES:%=qapi/qapi-types-%.o) util-obj-y += qapi/qapi-builtin-visit.o util-obj-y += qapi/qapi-visit.o -util-obj-y += qapi/qapi-visit-block-core.o -util-obj-y += qapi/qapi-visit-block.o -util-obj-y += qapi/qapi-visit-char.o -util-obj-y += qapi/qapi-visit-common.o -util-obj-y += qapi/qapi-visit-crypto.o -util-obj-y += qapi/qapi-visit-introspect.o -util-obj-y += qapi/qapi-visit-job.o -util-obj-y += qapi/qapi-visit-migration.o -util-obj-y += qapi/qapi-visit-misc.o -util-obj-y += qapi/qapi-visit-net.o -util-obj-y += qapi/qapi-visit-rocker.o -util-obj-y += qapi/qapi-visit-run-state.o -util-obj-y += qapi/qapi-visit-sockets.o -util-obj-y += qapi/qapi-visit-tpm.o -util-obj-y += qapi/qapi-visit-trace.o -util-obj-y += qapi/qapi-visit-transaction.o -util-obj-y += qapi/qapi-visit-ui.o +util-obj-y += $(QAPI_MODULES:%=qapi/qapi-visit-%.o) util-obj-y += qapi/qapi-events.o -util-obj-y += qapi/qapi-events-block-core.o -util-obj-y += qapi/qapi-events-block.o -util-obj-y += qapi/qapi-events-char.o -util-obj-y += qapi/qapi-events-common.o -util-obj-y += qapi/qapi-events-crypto.o -util-obj-y += qapi/qapi-events-introspect.o -util-obj-y += qapi/qapi-events-job.o -util-obj-y += qapi/qapi-events-migration.o -util-obj-y += qapi/qapi-events-misc.o -util-obj-y += qapi/qapi-events-net.o -util-obj-y += qapi/qapi-events-rocker.o -util-obj-y += qapi/qapi-events-run-state.o -util-obj-y += qapi/qapi-events-sockets.o -util-obj-y += qapi/qapi-events-tpm.o -util-obj-y += qapi/qapi-events-trace.o -util-obj-y += qapi/qapi-events-transaction.o -util-obj-y += qapi/qapi-events-ui.o +util-obj-y += $(QAPI_MODULES:%=qapi/qapi-events-%.o) util-obj-y += qapi/qapi-introspect.o chardev-obj-y = chardev/ @@ -138,23 +93,7 @@ common-obj-$(CONFIG_FDT) += device_tree.o # qapi common-obj-y += qapi/qapi-commands.o -common-obj-y += qapi/qapi-commands-block-core.o -common-obj-y += qapi/qapi-commands-block.o -common-obj-y += qapi/qapi-commands-char.o -common-obj-y += qapi/qapi-commands-common.o -common-obj-y += qapi/qapi-commands-crypto.o -common-obj-y += qapi/qapi-commands-introspect.o -common-obj-y += qapi/qapi-commands-job.o -common-obj-y += qapi/qapi-commands-migration.o -common-obj-y += qapi/qapi-commands-misc.o -common-obj-y += qapi/qapi-commands-net.o -common-obj-y += qapi/qapi-commands-rocker.o -common-obj-y += qapi/qapi-commands-run-state.o -common-obj-y += qapi/qapi-commands-sockets.o -common-obj-y += qapi/qapi-commands-tpm.o -common-obj-y += qapi/qapi-commands-trace.o -common-obj-y += qapi/qapi-commands-transaction.o -common-obj-y += qapi/qapi-commands-ui.o +common-obj-y += $(QAPI_MODULES:%=qapi/qapi-commands-%.o) common-obj-y += qapi/qapi-introspect.o common-obj-y += qmp.o hmp.o endif From 3381466dc95f5ee7087caa8fee77920bc03b0e62 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Tue, 20 Nov 2018 14:36:28 -0600 Subject: [PATCH 06/30] misc: Avoid UTF-8 in error messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit While most developers are now using UTF-8 environments, it's harder to guarantee that error messages will be output to a multibyte locale. Rather than risking error messages that get corrupted into mojibake when the user runs qemu in a non-multibyte locale, let's stick to straight ASCII error messages, rather than assuming that our use of UTF-8 in source code string constants will work unchanged in other locales. Found with: $ LC_ALL=C git grep -l $'".*[\x80-\xff].*"' origin -- '**/*.[ch]' | cat origin:hw/misc/tmp105.c origin:hw/misc/tmp421.c Reported-by: Markus Armbruster Signed-off-by: Eric Blake Reviewed-by: John Snow Reviewed-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Markus Armbruster Message-Id: <20181120203628.2367003-1-eblake@redhat.com> [lv: added command line to find non ASCII characters] Signed-off-by: Laurent Vivier --- hw/misc/tmp105.c | 2 +- hw/misc/tmp421.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c index 0918f3a6ea..f6d7163273 100644 --- a/hw/misc/tmp105.c +++ b/hw/misc/tmp105.c @@ -79,7 +79,7 @@ static void tmp105_set_temperature(Object *obj, Visitor *v, const char *name, return; } if (temp >= 128000 || temp < -128000) { - error_setg(errp, "value %" PRId64 ".%03" PRIu64 " °C is out of range", + error_setg(errp, "value %" PRId64 ".%03" PRIu64 " C is out of range", temp / 1000, temp % 1000); return; } diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c index c234044305..eeb11000f0 100644 --- a/hw/misc/tmp421.c +++ b/hw/misc/tmp421.c @@ -153,7 +153,7 @@ static void tmp421_set_temperature(Object *obj, Visitor *v, const char *name, } if (temp >= maxs[ext_range] || temp < mins[ext_range]) { - error_setg(errp, "value %" PRId64 ".%03" PRIu64 " °C is out of range", + error_setg(errp, "value %" PRId64 ".%03" PRIu64 " C is out of range", temp / 1000, temp % 1000); return; } From 5021bfa53703724f0822346c1d490e9ebb9de133 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Thu, 22 Nov 2018 14:02:40 +0100 Subject: [PATCH 07/30] MAINTAINERS: Add missing hw/pci-host entries Bonito belongs to Fulong-2E, Sabre belongs to Sun4u, and Mac-Newworld and Mips-Boston were missing the header files. Signed-off-by: Thomas Huth Reviewed-by: Aleksandar Markovic Acked-by: Aleksandar Markovic Reviewed-by: Laurent Vivier Message-Id: <1542891760-13937-1-git-send-email-thuth@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 63effdc473..059c775a06 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -885,7 +885,7 @@ R: Stefan Markovic S: Odd Fixes F: hw/mips/mips_fulong2e.c F: hw/isa/vt82c686.c - +F: hw/pci-host/bonito.c F: include/hw/isa/vt82c686.h Boston @@ -895,6 +895,7 @@ S: Maintained F: hw/core/loader-fit.c F: hw/mips/boston.c F: hw/pci-host/xilinx-pcie.c +F: include/hw/pci-host/xilinx-pcie.h OpenRISC Machines ----------------- @@ -947,6 +948,7 @@ F: hw/nvram/mac_nvram.c F: include/hw/misc/macio/ F: include/hw/misc/mos6522.h F: include/hw/ppc/mac_dbdma.h +F: include/hw/pci-host/uninorth.h Old World M: David Gibson @@ -1038,6 +1040,8 @@ M: Mark Cave-Ayland S: Maintained F: hw/sparc64/sun4u.c F: pc-bios/openbios-sparc64 +F: hw/pci-host/sabre.c +F: include/hw/pci-host/sabre.h Sun4v M: Artyom Tarasenko From 15e10756d9f615cd93f84ac1489d179d02584cc2 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Thu, 22 Nov 2018 16:11:40 +0100 Subject: [PATCH 08/30] MAINTAINERS: Add nios2-related files to the Nios2 section nios2_iic.c and the default-configs/nios2-softmmu.mak file are currently "unmaintained" according to the get_maintainers.pl script. Move them to the Nios2 section where they obviously belong to. Signed-off-by: Thomas Huth Reviewed-by: Laurent Vivier Message-Id: <1542899500-23346-1-git-send-email-thuth@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 059c775a06..f5ef20d359 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -233,7 +233,9 @@ M: Marek Vasut S: Maintained F: target/nios2/ F: hw/nios2/ +F: hw/intc/nios2_iic.c F: disas/nios2.c +F: default-configs/nios2-softmmu.mak OpenRISC M: Stafford Horne From 090627a9d9b3ff589062703f4f553675ebe2f694 Mon Sep 17 00:00:00 2001 From: Li Qiang Date: Mon, 26 Nov 2018 01:56:19 -0800 Subject: [PATCH 09/30] target: hax: replace g_malloc with g_new0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit And also the g_malloc doesn't need check return value, remove it. Cc: qemu-trivial@nongnu.org Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Markus Armbruster Signed-off-by: Li Qiang Reviewed-by: Laurent Vivier Reviewed-by: Alex Bennée Message-Id: <1543226179-5135-1-git-send-email-liq3ea@gmail.com> Signed-off-by: Laurent Vivier --- target/i386/hax-all.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/target/i386/hax-all.c b/target/i386/hax-all.c index d2e512856b..502ce6f0af 100644 --- a/target/i386/hax-all.c +++ b/target/i386/hax-all.c @@ -154,13 +154,7 @@ int hax_vcpu_create(int id) return 0; } - vcpu = g_malloc(sizeof(struct hax_vcpu_state)); - if (!vcpu) { - fprintf(stderr, "Failed to alloc vcpu state\n"); - return -ENOMEM; - } - - memset(vcpu, 0, sizeof(struct hax_vcpu_state)); + vcpu = g_new0(struct hax_vcpu_state, 1); ret = hax_host_create_vcpu(hax_global.vm->fd, id); if (ret) { @@ -250,11 +244,8 @@ struct hax_vm *hax_vm_create(struct hax_state *hax) return hax->vm; } - vm = g_malloc(sizeof(struct hax_vm)); - if (!vm) { - return NULL; - } - memset(vm, 0, sizeof(struct hax_vm)); + vm = g_new0(struct hax_vm, 1); + ret = hax_host_create_vm(hax, &vm_id); if (ret) { fprintf(stderr, "Failed to create vm %x\n", ret); From faae23b933b450eda68940583ef19560ab868191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:36 +0100 Subject: [PATCH 10/30] MAINTAINERS: Fix ACPI tests data files path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Missed while moving those files in 438c78dab75. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Igor Mammedov Reviewed-by: Thomas Huth Message-Id: <20181125205000.10324-2-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index f5ef20d359..59233c2139 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1252,8 +1252,7 @@ F: hw/i386/acpi-build.[hc] F: hw/arm/virt-acpi-build.c F: tests/bios-tables-test.c F: tests/acpi-utils.[hc] -F: tests/acpi-test-data/* -F: tests/acpi-test-data/*/* +F: tests/data/acpi/ ppc4xx M: David Gibson From 84dbe974601bafb2e03563c263c8e32530296868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:37 +0100 Subject: [PATCH 11/30] MAINTAINERS: Add a missing entry to the SPARC CPU MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Mark Cave-Ayland Message-Id: <20181125205000.10324-3-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 59233c2139..edc88164c3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -291,6 +291,7 @@ S: Maintained F: target/sparc/ F: hw/sparc/ F: hw/sparc64/ +F: include/hw/sparc/sparc64.h F: disas/sparc.c UniCore32 From 24d6d8bf2cbe27192c88e921db117f04b04759da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:39 +0100 Subject: [PATCH 12/30] MAINTAINERS: Add missing entries for the Xilinx ZynqMP machine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Message-Id: <20181125205000.10324-5-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index edc88164c3..b32cd139a7 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -741,6 +741,9 @@ L: qemu-arm@nongnu.org S: Maintained F: hw/*/xlnx*.c F: include/hw/*/xlnx*.h +F: include/hw/ssi/xilinx_spips.h +F: hw/display/dpcd.c +F: include/hw/display/dpcd.h ARM ACPI Subsystem M: Shannon Zhao From 0886a785902203353319d47a8357c41ac55fec63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:40 +0100 Subject: [PATCH 13/30] MAINTAINERS: Add missing entries for the Jazz machine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Stefan Markovic Message-Id: <20181125205000.10324-6-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index b32cd139a7..5c20fed4d4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -865,6 +865,8 @@ M: Hervé Poussineau R: Stefan Markovic S: Maintained F: hw/mips/mips_jazz.c +F: hw/display/jazz_led.c +F: hw/dma/rc4030.c Malta M: Aurelien Jarno From a734c7b57a526a895b796e9838c63b358f9503cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:41 +0100 Subject: [PATCH 14/30] MAINTAINERS: Add a missing entry for the Xilinx S3A-DSP 1800 machine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Message-Id: <20181125205000.10324-7-philmd@redhat.com> [lv: added the missing 'F:' field] Signed-off-by: Laurent Vivier --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 5c20fed4d4..4b66aca933 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -852,6 +852,7 @@ petalogix_s3adsp1800 M: Edgar E. Iglesias S: Maintained F: hw/microblaze/petalogix_s3adsp1800_mmu.c +F: include/hw/char/xilinx_uartlite.h petalogix_ml605 M: Edgar E. Iglesias From 97e16dba5701a6c946e35242ca2758b44fc63341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:43 +0100 Subject: [PATCH 15/30] MAINTAINERS: Add a missing entry for the Old World machines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Acked-by: David Gibson Reviewed-by: Mark Cave-Ayland Message-Id: <20181125205000.10324-9-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 4b66aca933..581832b257 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -967,6 +967,7 @@ F: hw/ppc/mac_oldworld.c F: hw/pci-host/grackle.c F: hw/misc/macio/ F: hw/intc/heathrow_pic.c +F: include/hw/intc/heathrow_pic.h PReP M: Hervé Poussineau From d04761599179d12a76c9dc4cac4345a5bba3d9bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:44 +0100 Subject: [PATCH 16/30] MAINTAINERS: Add a missing entry for the sun4m machines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Mark Cave-Ayland Message-Id: <20181125205000.10324-10-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 581832b257..bfd4ddd93b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1044,6 +1044,7 @@ F: hw/misc/eccmemctl.c F: hw/misc/slavio_misc.c F: include/hw/sparc/sparc32_dma.h F: pc-bios/openbios-sparc32 +F: include/hw/sparc/sun4m_iommu.h Sun4u M: Mark Cave-Ayland From 4bcbc7734b3935d7f7451664dc367f2f8aca564d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:47 +0100 Subject: [PATCH 17/30] MAINTAINERS: Add missing entries to the PC Chipset section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Message-Id: <20181125205000.10324-13-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index bfd4ddd93b..a7bf9c42a9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1151,11 +1151,13 @@ F: hw/timer/hpet* F: hw/timer/i8254* F: hw/timer/mc146818rtc* F: hw/watchdog/wdt_ib700.c +F: hw/watchdog/wdt_i6300esb.c F: include/hw/display/vga.h F: include/hw/char/parallel.h F: include/hw/dma/i8257.h F: include/hw/i2c/pm_smbus.h F: include/hw/input/i8042.h +F: include/hw/isa/i8259_internal.h F: include/hw/isa/superio.h F: include/hw/timer/hpet.h F: include/hw/timer/i8254* From 72c1e8658aa97d5b6a132c239358e08d8f77a2fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:49 +0100 Subject: [PATCH 18/30] MAINTAINERS: Add missing entries to the vhost section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Message-Id: <20181125205000.10324-15-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index a7bf9c42a9..381c39b6d8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1382,6 +1382,7 @@ M: Michael S. Tsirkin S: Supported F: hw/*/*vhost* F: docs/interop/vhost-user.txt +F: contrib/vhost-user-*/ virtio M: Michael S. Tsirkin From 7ad5f2d1b695a3b531d4442cf1e7c761680366f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:50 +0100 Subject: [PATCH 19/30] MAINTAINERS: Add missing entries for the Canon DIGIC machine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This pattern now also matches: - include/hw/timer/digic-timer.h - include/hw/char/digic-uart.h Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Peter Maydell Message-Id: <20181125205000.10324-16-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 381c39b6d8..68ff5ee413 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -541,6 +541,7 @@ L: qemu-arm@nongnu.org S: Odd Fixes F: include/hw/arm/digic.h F: hw/*/digic* +F: include/hw/*/digic* Gumstix M: Peter Maydell From c56c57608bf3ae030d9c3d89a95040910067b1d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:51 +0100 Subject: [PATCH 20/30] MAINTAINERS: Add missing entries for the MPS2 machine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Missed in de343bb632a. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Peter Maydell Message-Id: <20181125205000.10324-17-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 68ff5ee413..b325a5af87 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -612,6 +612,8 @@ F: hw/misc/mps2-*.c F: include/hw/misc/mps2-*.h F: hw/arm/iotkit.c F: include/hw/arm/iotkit.h +F: hw/misc/iotkit-secctl.c +F: include/hw/misc/iotkit-secctl.h F: hw/misc/iotkit-sysctl.c F: include/hw/misc/iotkit-sysctl.h F: hw/misc/iotkit-sysinfo.c From 9bd4cb357380d8c024136d6e00f46a873ff4d26c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:52 +0100 Subject: [PATCH 21/30] MAINTAINERS: Add a missing entry to SPICE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Gerd Hoffmann Message-Id: <20181125205000.10324-18-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index b325a5af87..20096dad05 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1772,6 +1772,7 @@ F: ui/spice-*.c F: audio/spiceaudio.c F: hw/display/qxl* F: qapi/ui.json +F: docs/spice-port-fqdn.txt Graphics M: Gerd Hoffmann From 12b2f0d93d881b49786f4b71b95020c576bc2564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:54 +0100 Subject: [PATCH 22/30] MAINTAINERS: Add a missing entry to the QMP section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Markus Armbruster Message-Id: <20181125205000.10324-20-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 20096dad05..4251c5edd3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1917,6 +1917,7 @@ S: Supported F: qmp.c F: monitor.c F: docs/devel/*qmp-* +F: docs/interop/*qmp-* F: scripts/qmp/ F: tests/qmp-test.c F: tests/qmp-cmd-test.c From e2e254d3e07767b322f4254809f26dcafff3694e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:56 +0100 Subject: [PATCH 23/30] MAINTAINERS: Add a missing entry for the NVDIMM device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Message-Id: <20181125205000.10324-22-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 4251c5edd3..84e248c013 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1498,6 +1498,7 @@ S: Maintained F: hw/acpi/nvdimm.c F: hw/mem/nvdimm.c F: include/hw/mem/nvdimm.h +F: docs/nvdimm.txt e1000x M: Dmitry Fleytman From 0d8ea8f16453396da80dae4445a67fb2c7879016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Sun, 25 Nov 2018 21:49:59 +0100 Subject: [PATCH 24/30] MAINTAINERS: Use my work email to review Build and test automation patches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Message-Id: <20181125205000.10324-25-philmd@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 84e248c013..0e5c9cf52a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2406,7 +2406,7 @@ Build and test automation Build and test automation M: Alex Bennée M: Fam Zheng -R: Philippe Mathieu-Daudé +R: Philippe Mathieu-Daudé L: qemu-devel@nongnu.org S: Maintained F: .travis.yml From 1d4f78e93ac03e7d8ac845822b2c5ad87e77e2d2 Mon Sep 17 00:00:00 2001 From: Li Qiang Date: Tue, 27 Nov 2018 02:00:12 -0800 Subject: [PATCH 25/30] target: hax: fix errors in comment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: qemu-trivial@nongnu.org Signed-off-by: Li Qiang Reviewed-by: Philippe Mathieu-Daudé Message-Id: <1543312812-2929-1-git-send-email-liq3ea@gmail.com> Signed-off-by: Laurent Vivier --- target/i386/hax-all.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/hax-all.c b/target/i386/hax-all.c index 502ce6f0af..b978a9b821 100644 --- a/target/i386/hax-all.c +++ b/target/i386/hax-all.c @@ -205,7 +205,7 @@ int hax_vcpu_destroy(CPUState *cpu) } /* - * 1. The hax_tunnel is also destroied when vcpu destroy + * 1. The hax_tunnel is also destroyed when vcpu is destroyed * 2. close fd will cause hax module vcpu be cleaned */ hax_close_fd(vcpu->fd); From 9e722ebc0668d045dc65585e96954082eafedd99 Mon Sep 17 00:00:00 2001 From: Li Qiang Date: Fri, 30 Nov 2018 01:53:58 -0800 Subject: [PATCH 26/30] util: vfio-helpers: use ARRAY_SIZE in qemu_vfio_init_pci() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: qemu-trivial@nongnu.org Signed-off-by: Li Qiang Reviewed-by: Philippe Mathieu-Daudé Message-Id: <1543571638-2892-1-git-send-email-liq3ea@gmail.com> Signed-off-by: Laurent Vivier --- util/vfio-helpers.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/vfio-helpers.c b/util/vfio-helpers.c index cccc9cd42e..342d4a2285 100644 --- a/util/vfio-helpers.c +++ b/util/vfio-helpers.c @@ -348,7 +348,7 @@ static int qemu_vfio_init_pci(QEMUVFIOState *s, const char *device, goto fail; } - for (i = 0; i < 6; i++) { + for (i = 0; i < ARRAY_SIZE(s->bar_region_info); i++) { ret = qemu_vfio_pci_init_bar(s, i, errp); if (ret) { goto fail; From 53a90b97245982bf28fbd2c776f206ac25a3837c Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Thu, 6 Dec 2018 09:18:56 -0600 Subject: [PATCH 27/30] cutils: Assert in-range base for string-to-integer conversions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit POSIX states that the value of endptr is unspecified if strtol() fails with EINVAL due to an invalid base argument. Since none of the callers to check_strtox_error() initialized endptr, we could end up propagating uninitialized data back to a caller on error. However, passing an out-of-range base is already a sign of poor programming, so let's just assert that base is in range, at which point check_strtox_error() can be tightened to assert that it is receiving an initialized ep that points somewhere within the caller's original string, regardless of whether strto*() succeeded or failed with ERANGE. Reported-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Eric Blake Reviewed-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20181206151856.77503-1-eblake@redhat.com> Signed-off-by: Laurent Vivier --- util/cutils.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/util/cutils.c b/util/cutils.c index 698bd315bd..0621565930 100644 --- a/util/cutils.c +++ b/util/cutils.c @@ -280,6 +280,7 @@ int qemu_strtosz_metric(const char *nptr, char **end, uint64_t *result) static int check_strtox_error(const char *nptr, char *ep, const char **endptr, int libc_errno) { + assert(ep >= nptr); if (endptr) { *endptr = ep; } @@ -327,6 +328,7 @@ int qemu_strtoi(const char *nptr, const char **endptr, int base, char *ep; long long lresult; + assert((unsigned) base <= 36 && base != 1); if (!nptr) { if (endptr) { *endptr = nptr; @@ -379,6 +381,7 @@ int qemu_strtoui(const char *nptr, const char **endptr, int base, char *ep; long long lresult; + assert((unsigned) base <= 36 && base != 1); if (!nptr) { if (endptr) { *endptr = nptr; @@ -435,6 +438,7 @@ int qemu_strtol(const char *nptr, const char **endptr, int base, { char *ep; + assert((unsigned) base <= 36 && base != 1); if (!nptr) { if (endptr) { *endptr = nptr; @@ -477,6 +481,7 @@ int qemu_strtoul(const char *nptr, const char **endptr, int base, { char *ep; + assert((unsigned) base <= 36 && base != 1); if (!nptr) { if (endptr) { *endptr = nptr; @@ -504,6 +509,7 @@ int qemu_strtoi64(const char *nptr, const char **endptr, int base, { char *ep; + assert((unsigned) base <= 36 && base != 1); if (!nptr) { if (endptr) { *endptr = nptr; @@ -527,6 +533,7 @@ int qemu_strtou64(const char *nptr, const char **endptr, int base, { char *ep; + assert((unsigned) base <= 36 && base != 1); if (!nptr) { if (endptr) { *endptr = nptr; @@ -594,6 +601,7 @@ int parse_uint(const char *s, unsigned long long *value, char **endptr, char *endp = (char *)s; unsigned long long val = 0; + assert((unsigned) base <= 36 && base != 1); if (!s) { r = -EINVAL; goto out; From fe5ca46d04473998c0967593282f55448abeb089 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Wed, 21 Nov 2018 23:30:36 +0800 Subject: [PATCH 28/30] MAINTAINERS: Update email address for Fam Zheng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since I am about to change company, update the email address in MAINTAINERS to my personal one. Depending on responsibility changes I may eventually fade out in some of the maintained areas, but that will be figured out afterward, or maybe I'll use the work email later. For now, just do a search and replace. Signed-off-by: Fam Zheng Signed-off-by: Fam Zheng Reviewed-by: Marc-André Lureau Reviewed-by: John Snow Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Message-Id: <20181121153036.2941-1-famz@redhat.com> Signed-off-by: Laurent Vivier --- MAINTAINERS | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 0e5c9cf52a..02acc1cc8a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1301,7 +1301,7 @@ T: git https://github.com/jasowang/qemu.git net SCSI M: Paolo Bonzini -R: Fam Zheng +R: Fam Zheng S: Supported F: include/hw/scsi/* F: hw/scsi/* @@ -1629,7 +1629,7 @@ T: git https://repo.or.cz/qemu/kevin.git block Block I/O path M: Stefan Hajnoczi -M: Fam Zheng +M: Fam Zheng L: qemu-block@nongnu.org S: Supported F: util/async.c @@ -1643,7 +1643,7 @@ T: git https://github.com/stefanha/qemu.git block Block SCSI subsystem M: Paolo Bonzini -R: Fam Zheng +R: Fam Zheng L: qemu-block@nongnu.org S: Supported F: include/scsi/* @@ -1675,7 +1675,7 @@ F: qapi/transaction.json T: git https://repo.or.cz/qemu/armbru.git block-next Dirty Bitmaps -M: Fam Zheng +M: Fam Zheng M: John Snow L: qemu-block@nongnu.org S: Supported @@ -2051,7 +2051,7 @@ F: tests/test-throttle.c L: qemu-block@nongnu.org UUID -M: Fam Zheng +M: Fam Zheng S: Supported F: util/uuid.c F: include/qemu/uuid.h @@ -2182,7 +2182,7 @@ F: disas/tci.c Block drivers ------------- VMDK -M: Fam Zheng +M: Fam Zheng L: qemu-block@nongnu.org S: Supported F: block/vmdk.c @@ -2268,13 +2268,13 @@ F: block/gluster.c T: git https://github.com/codyprime/qemu-kvm-jtc.git block Null Block Driver -M: Fam Zheng +M: Fam Zheng L: qemu-block@nongnu.org S: Supported F: block/null.c NVMe Block Driver -M: Fam Zheng +M: Fam Zheng L: qemu-block@nongnu.org S: Supported F: block/nvme* @@ -2405,7 +2405,7 @@ Build and test automation ------------------------- Build and test automation M: Alex Bennée -M: Fam Zheng +M: Fam Zheng R: Philippe Mathieu-Daudé L: qemu-devel@nongnu.org S: Maintained From d668c82bfb5ba0e83342f313257e9b58bccf194d Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Fri, 7 Dec 2018 11:07:33 -0600 Subject: [PATCH 29/30] maint: Grammar fix to mailmap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make the sentence read better. Signed-off-by: Eric Blake Reviewed-by: Daniel P. Berrangé Message-Id: <20181207170733.129532-1-eblake@redhat.com> Signed-off-by: Laurent Vivier --- .mailmap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mailmap b/.mailmap index ed8faa5719..b8e08297c9 100644 --- a/.mailmap +++ b/.mailmap @@ -34,6 +34,6 @@ Justin Terry (VM) Justin Terry (VM) via Qemu-devel Reimar Döffinger From 82c48fb79df5596a9d0a3b6d998c4491e542aa7a Mon Sep 17 00:00:00 2001 From: "fabrice.desclaux@cea.fr" Date: Fri, 7 Dec 2018 15:44:40 +0100 Subject: [PATCH 30/30] Fixes i386 xchgq test As "xchg" reads and writes both operands, the "+m" is required to avoid undefined behavior on -O2 compilation. Signed-off-by: Fabrice Desclaux Reviewed-by: Richard Henderson Message-Id: <03506cf0-a204-f619-8ee4-4990a5e69af5@cea.fr> Signed-off-by: Laurent Vivier --- tests/tcg/i386/test-i386.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tcg/i386/test-i386.c b/tests/tcg/i386/test-i386.c index a29b41e764..18d5609665 100644 --- a/tests/tcg/i386/test-i386.c +++ b/tests/tcg/i386/test-i386.c @@ -1137,7 +1137,7 @@ void test_xchg(void) TEST_XCHG(xchgb, "b", "+q"); #if defined(__x86_64__) - TEST_XCHG(xchgq, "", "=m"); + TEST_XCHG(xchgq, "", "+m"); #endif TEST_XCHG(xchgl, "k", "+m"); TEST_XCHG(xchgw, "w", "+m");