From f75ca627234bbe69d0540dfceba35228d4eadacd Mon Sep 17 00:00:00 2001 From: Chen Zhang Date: Thu, 22 Aug 2019 14:49:09 +0800 Subject: [PATCH 1/8] vfio: fix a typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Chen Zhang Reviewed-by: Li Qiang Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Cornelia Huck Message-Id: <8E5A9C27-C76D-46CF-85B0-79121A00B05F@me.com> Signed-off-by: Laurent Vivier --- hw/vfio/pci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index dc3479c374..c5e6fe61cb 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -44,7 +44,7 @@ #define TYPE_VFIO_PCI "vfio-pci" #define PCI_VFIO(obj) OBJECT_CHECK(VFIOPCIDevice, obj, TYPE_VFIO_PCI) -#define TYPE_VIFO_PCI_NOHOTPLUG "vfio-pci-nohotplug" +#define TYPE_VFIO_PCI_NOHOTPLUG "vfio-pci-nohotplug" static void vfio_disable_interrupts(VFIOPCIDevice *vdev); static void vfio_mmap_set_enabled(VFIOPCIDevice *vdev, bool enabled); @@ -3199,7 +3199,7 @@ static void vfio_pci_nohotplug_dev_class_init(ObjectClass *klass, void *data) } static const TypeInfo vfio_pci_nohotplug_dev_info = { - .name = TYPE_VIFO_PCI_NOHOTPLUG, + .name = TYPE_VFIO_PCI_NOHOTPLUG, .parent = TYPE_VFIO_PCI, .instance_size = sizeof(VFIOPCIDevice), .class_init = vfio_pci_nohotplug_dev_class_init, From 31e404151bddbfd7215e471b5822ea2e96024e02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Tue, 3 Sep 2019 14:05:55 +0200 Subject: [PATCH 2/8] cutils: Move size_to_str() from "qemu-common.h" to "qemu/cutils.h" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "qemu/cutils.h" contains various qemu_strtosz_*() functions useful to convert strings to size. It seems natural to have the opposite usage (from size to string) there too. The function definition is already in util/cutils.c. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: John Snow Reviewed-by: Peter Xu Message-Id: <20190903120555.7551-1-philmd@redhat.com> Signed-off-by: Laurent Vivier --- block/qapi.c | 2 +- include/qemu-common.h | 1 - include/qemu/cutils.h | 2 ++ qapi/string-output-visitor.c | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/block/qapi.c b/block/qapi.c index 15f1030264..7ee2ee065d 100644 --- a/block/qapi.c +++ b/block/qapi.c @@ -23,7 +23,7 @@ */ #include "qemu/osdep.h" -#include "qemu-common.h" +#include "qemu/cutils.h" #include "block/qapi.h" #include "block/block_int.h" #include "block/throttle-groups.h" diff --git a/include/qemu-common.h b/include/qemu-common.h index 0235cd3b91..8d84db90b0 100644 --- a/include/qemu-common.h +++ b/include/qemu-common.h @@ -123,7 +123,6 @@ void qemu_hexdump(const char *buf, FILE *fp, const char *prefix, size_t size); int parse_debug_env(const char *name, int max, int initial); const char *qemu_ether_ntoa(const MACAddr *mac); -char *size_to_str(uint64_t val); void page_size_init(void); /* returns non-zero if dump is in progress, otherwise zero is diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h index 12301340a4..b54c847e0f 100644 --- a/include/qemu/cutils.h +++ b/include/qemu/cutils.h @@ -155,6 +155,8 @@ int qemu_strtosz(const char *nptr, const char **end, uint64_t *result); int qemu_strtosz_MiB(const char *nptr, const char **end, uint64_t *result); int qemu_strtosz_metric(const char *nptr, const char **end, uint64_t *result); +char *size_to_str(uint64_t val); + /* used to print char* safely */ #define STR_OR_NULL(str) ((str) ? (str) : "null") diff --git a/qapi/string-output-visitor.c b/qapi/string-output-visitor.c index 7ab64468d9..0d93605d77 100644 --- a/qapi/string-output-visitor.c +++ b/qapi/string-output-visitor.c @@ -11,7 +11,7 @@ */ #include "qemu/osdep.h" -#include "qemu-common.h" +#include "qemu/cutils.h" #include "qapi/string-output-visitor.h" #include "qapi/visitor-impl.h" #include "qemu/host-utils.h" From 976e8c54142586285f71f524308e4715f6e04e2d Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 4 Sep 2019 07:27:39 +0200 Subject: [PATCH 3/8] Replace '-machine accel=xyz' with '-accel xyz' We've got a separate option to configure the accelerator nowadays, which is shorter to type and the preferred way of specifying an accelerator. Use it in the source and examples to show that it is the favored option. (However, do not touch the places yet which also specify other machine options or multiple accelerators - these are currently still better handled with one single "-machine" statement instead) Signed-off-by: Thomas Huth Acked-by: Paolo Bonzini Message-Id: <20190904052739.22123-1-thuth@redhat.com> Signed-off-by: Laurent Vivier --- python/qemu/qtest.py | 2 +- qemu-deprecated.texi | 3 +-- qemu-options.hx | 2 +- tests/libqtest.c | 2 +- tests/migration/guestperf/engine.py | 2 +- tests/qemu-iotests/172 | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/python/qemu/qtest.py b/python/qemu/qtest.py index eebcc233ed..3f1d2cb325 100644 --- a/python/qemu/qtest.py +++ b/python/qemu/qtest.py @@ -96,7 +96,7 @@ class QEMUQtestMachine(QEMUMachine): def _base_args(self): args = super(QEMUQtestMachine, self)._base_args() args.extend(['-qtest', 'unix:path=' + self._qtest_path, - '-machine', 'accel=qtest']) + '-accel', 'qtest']) return args def _pre_launch(self): diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi index 9d74a1cfc0..01245e0b1c 100644 --- a/qemu-deprecated.texi +++ b/qemu-deprecated.texi @@ -26,8 +26,7 @@ The @option{enforce-config-section} parameter is replaced by the @subsection -no-kvm (since 1.3.0) -The ``-no-kvm'' argument is now a synonym for setting -``-machine accel=tcg''. +The ``-no-kvm'' argument is now a synonym for setting ``-accel tcg''. @subsection -usbdevice (since 2.10.0) diff --git a/qemu-options.hx b/qemu-options.hx index bbfd936d29..80c16fa317 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -4156,7 +4156,7 @@ STEXI Enable FIPS 140-2 compliance mode. ETEXI -HXCOMM Deprecated by -machine accel=tcg property +HXCOMM Deprecated by -accel tcg DEF("no-kvm", 0, QEMU_OPTION_no_kvm, "", QEMU_ARCH_I386) DEF("msg", HAS_ARG, QEMU_OPTION_msg, diff --git a/tests/libqtest.c b/tests/libqtest.c index 4a7556462d..38e4f5b587 100644 --- a/tests/libqtest.c +++ b/tests/libqtest.c @@ -241,7 +241,7 @@ QTestState *qtest_init_without_qmp_handshake(const char *extra_args) "-qtest-log %s " "-chardev socket,path=%s,id=char0 " "-mon chardev=char0,mode=control " - "-machine accel=qtest " + "-accel qtest " "-display none " "%s", qemu_binary, socket_path, getenv("QTEST_LOG") ? "/dev/fd/2" : "/dev/null", diff --git a/tests/migration/guestperf/engine.py b/tests/migration/guestperf/engine.py index f13dbea800..1dd04ce33b 100644 --- a/tests/migration/guestperf/engine.py +++ b/tests/migration/guestperf/engine.py @@ -287,7 +287,7 @@ class Engine(object): cmdline = "'" + cmdline + "'" argv = [ - "-machine", "accel=kvm", + "-accel", "kvm", "-cpu", "host", "-kernel", self._kernel, "-initrd", self._initrd, diff --git a/tests/qemu-iotests/172 b/tests/qemu-iotests/172 index ba7dad9057..d67997e5f6 100755 --- a/tests/qemu-iotests/172 +++ b/tests/qemu-iotests/172 @@ -55,7 +55,7 @@ do_run_qemu() done fi echo quit - ) | $QEMU -machine accel=qtest -nographic -monitor stdio -serial none "$@" + ) | $QEMU -accel qtest -nographic -monitor stdio -serial none "$@" echo } From 198d7003f109e78444c7296efe03e30f01de18d9 Mon Sep 17 00:00:00 2001 From: KONRAD Frederic Date: Thu, 12 Sep 2019 16:02:00 +0200 Subject: [PATCH 4/8] target/m68k/fpu_helper.c: rename the access arguments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The "access" arguments clash with a macro under Windows with MinGW: CC m68k-softmmu/target/m68k/fpu_helper.o target/m68k/fpu_helper.c: In function 'fmovem_predec': target/m68k/fpu_helper.c:405:56: error: macro "access" passed 4 arguments, but takes just 2 size = access(env, addr, &env->fregs[i], ra); So this renames them access_fn. Tested with: ./configure --target-list=m68k-softmmu make -j8 Signed-off-by: KONRAD Frederic Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Laurent Vivier Message-Id: <1568296920-29939-1-git-send-email-frederic.konrad@adacore.com> Signed-off-by: Laurent Vivier --- target/m68k/fpu_helper.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target/m68k/fpu_helper.c b/target/m68k/fpu_helper.c index 9b039c856d..4137542ec0 100644 --- a/target/m68k/fpu_helper.c +++ b/target/m68k/fpu_helper.c @@ -396,14 +396,14 @@ typedef int (*float_access)(CPUM68KState *env, uint32_t addr, FPReg *fp, uintptr_t ra); static uint32_t fmovem_predec(CPUM68KState *env, uint32_t addr, uint32_t mask, - float_access access) + float_access access_fn) { uintptr_t ra = GETPC(); int i, size; for (i = 7; i >= 0; i--, mask <<= 1) { if (mask & 0x80) { - size = access(env, addr, &env->fregs[i], ra); + size = access_fn(env, addr, &env->fregs[i], ra); if ((mask & 0xff) != 0x80) { addr -= size; } @@ -414,14 +414,14 @@ static uint32_t fmovem_predec(CPUM68KState *env, uint32_t addr, uint32_t mask, } static uint32_t fmovem_postinc(CPUM68KState *env, uint32_t addr, uint32_t mask, - float_access access) + float_access access_fn) { uintptr_t ra = GETPC(); int i, size; for (i = 0; i < 8; i++, mask <<= 1) { if (mask & 0x80) { - size = access(env, addr, &env->fregs[i], ra); + size = access_fn(env, addr, &env->fregs[i], ra); addr += size; } } From 5c95975d8d904f09733999bf77a5b67abe1d39e0 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Thu, 12 Sep 2019 13:46:07 -0500 Subject: [PATCH 5/8] build: Don't ignore qapi-visit-core.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This file is version-controlled, and not generated from a .json file. Fixes: bf582c3461b Reported-by: Thomas Huth Signed-off-by: Eric Blake Reviewed-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20190912184607.3507-1-eblake@redhat.com> Signed-off-by: Laurent Vivier --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e9bbc006d3..7de868d1ea 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,7 @@ /qapi/qapi-types-*.[ch] /qapi/qapi-types.[ch] /qapi/qapi-visit-*.[ch] +!/qapi/qapi-visit-core.c /qapi/qapi-visit.[ch] /qapi/qapi-doc.texi /qemu-doc.html From 5ca156cfde0f3821f15988619e51cf3cda99aaa6 Mon Sep 17 00:00:00 2001 From: Justin Hibbits Date: Wed, 21 Aug 2019 10:25:46 +0200 Subject: [PATCH 6/8] Fix cacheline detection on FreeBSD/powerpc. machdep.cacheline_size is an integer, not a long. Since PowerPC is big-endian this causes sysctlbyname() to fill in the upper bits of the argument, rather than the correct 'lower bits' of the word. Specify the correct type to fix this. Fixes: b255b2c8a548 ("util: add cacheinfo") Signed-off-by: Justin Hibbits Signed-off-by: Laurent Vivier Tested-by: Justin Hibbits Message-Id: <20190821082546.5252-2-laurent@vivier.eu> --- util/cacheinfo.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/util/cacheinfo.c b/util/cacheinfo.c index eebe1ce9c5..ea6f3e99bf 100644 --- a/util/cacheinfo.c +++ b/util/cacheinfo.c @@ -65,25 +65,28 @@ static void sys_cache_info(int *isize, int *dsize) g_free(buf); } -#elif defined(__APPLE__) \ - || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +#elif defined(__APPLE__) # include -# if defined(__APPLE__) -# define SYSCTL_CACHELINE_NAME "hw.cachelinesize" -# else -# define SYSCTL_CACHELINE_NAME "machdep.cacheline_size" -# endif - static void sys_cache_info(int *isize, int *dsize) { /* There's only a single sysctl for both I/D cache line sizes. */ long size; size_t len = sizeof(size); - if (!sysctlbyname(SYSCTL_CACHELINE_NAME, &size, &len, NULL, 0)) { + if (!sysctlbyname("hw.cachelinesize", &size, &len, NULL, 0)) { + *isize = *dsize = size; + } +} +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +# include +static void sys_cache_info(int *isize, int *dsize) +{ + /* There's only a single sysctl for both I/D cache line sizes. */ + int size; + size_t len = sizeof(size); + if (!sysctlbyname("machdep.cacheline_size", &size, &len, NULL, 0)) { *isize = *dsize = size; } } - #else /* POSIX */ From 84b6ea05ea13628d0dd99e3582060b26b7a1225a Mon Sep 17 00:00:00 2001 From: Greg Kurz Date: Thu, 12 Sep 2019 15:57:26 +0200 Subject: [PATCH 7/8] kvm: Fix typo in header of kvm_device_access() Signed-off-by: Greg Kurz Message-Id: <156829664683.2070256.13400788010568373502.stgit@bahia.tls.ibm.com> Signed-off-by: Laurent Vivier --- include/sysemu/kvm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h index 909bcd77cf..fd674772ab 100644 --- a/include/sysemu/kvm.h +++ b/include/sysemu/kvm.h @@ -308,7 +308,7 @@ int kvm_vm_check_attr(KVMState *s, uint32_t group, uint64_t attr); int kvm_device_check_attr(int fd, uint32_t group, uint64_t attr); /** - * kvm_device_access - set or get value of a specific vm attribute + * kvm_device_access - set or get value of a specific device attribute * @fd: The device file descriptor * @group: the group * @attr: the attribute of that group to set or get From 754119198de633683d7af79bc08e73c2de9df011 Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Sat, 14 Sep 2019 15:51:55 +0100 Subject: [PATCH 8/8] configure: Add xkbcommon configure options MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This dependency is currently "automagic", which is bad for distributions. Signed-off-by: James Le Cuirot Reviewed-by: Laurent Vivier Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Gerd Hoffmann Message-Id: <20190914145155.19360-1-chewi@gentoo.org> Signed-off-by: Laurent Vivier --- configure | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/configure b/configure index 30aad233d1..30544f52e6 100755 --- a/configure +++ b/configure @@ -1521,6 +1521,10 @@ for opt do ;; --disable-libpmem) libpmem=no ;; + --enable-xkbcommon) xkbcommon=yes + ;; + --disable-xkbcommon) xkbcommon=no + ;; *) echo "ERROR: unknown option $opt" echo "Try '$0 --help' for more information" @@ -1804,6 +1808,7 @@ disabled with --disable-FEATURE, default is enabled if available: capstone capstone disassembler support debug-mutex mutex debugging support libpmem libpmem support + xkbcommon xkbcommon support NOTE: The object files are built at the place where configure is launched EOF