aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2019-11-12 10:14:33 +0000
committerPeter Maydell <peter.maydell@linaro.org>2019-11-12 10:14:33 +0000
commitb0f2855bd09b0003e3c21009b2140820c9b65f8d (patch)
tree8fc4f6166ed3b15e474f7b5d9f30ed9d568ba386
parent9f2ce35dfa4ea4a31dbb765dd02bed2500891887 (diff)
parent623ef637a2e42e023e7436d4bfbdc5159fb36684 (diff)
downloadqemu-b0f2855bd09b0003e3c21009b2140820c9b65f8d.zip
qemu-b0f2855bd09b0003e3c21009b2140820c9b65f8d.tar.gz
qemu-b0f2855bd09b0003e3c21009b2140820c9b65f8d.tar.bz2
Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2019-11-12' into staging
- Fix memory leaks for QTESTS - Update MAINTAINERS file - Check for the availability of bzip2 in "configure" # gpg: Signature made Tue 12 Nov 2019 06:09:09 GMT # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "thuth@redhat.com" # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full] # gpg: aka "Thomas Huth <thuth@redhat.com>" [full] # gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full] # gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * remotes/huth-gitlab/tags/pull-request-2019-11-12: configure: Check bzip2 is available configure: Only decompress EDK2 blobs for X86/ARM targets tests/migration: Print some debug on bad status MAINTAINERS: slirp: Remove myself as maintainer cpu-plug-test: fix leaks qtest: fix qtest_qmp_device_add leak Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--MAINTAINERS2
-rw-r--r--Makefile2
-rwxr-xr-xconfigure17
-rw-r--r--tests/cpu-plug-test.c2
-rw-r--r--tests/libqtest.c1
-rw-r--r--tests/migration-test.c9
6 files changed, 29 insertions, 4 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 363e72a..ff8d0d2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2143,13 +2143,11 @@ F: include/hw/registerfields.h
SLIRP
M: Samuel Thibault <samuel.thibault@ens-lyon.org>
-M: Jan Kiszka <jan.kiszka@siemens.com>
S: Maintained
F: slirp/
F: net/slirp.c
F: include/net/slirp.h
T: git https://people.debian.org/~sthibault/qemu.git slirp
-T: git git://git.kiszka.org/qemu.git queues/slirp
Stubs
M: Paolo Bonzini <pbonzini@redhat.com>
diff --git a/Makefile b/Makefile
index aa9d1a4..3430eca 100644
--- a/Makefile
+++ b/Makefile
@@ -480,7 +480,9 @@ $(SOFTMMU_ALL_RULES): $(chardev-obj-y)
$(SOFTMMU_ALL_RULES): $(crypto-obj-y)
$(SOFTMMU_ALL_RULES): $(io-obj-y)
$(SOFTMMU_ALL_RULES): config-all-devices.mak
+ifdef DECOMPRESS_EDK2_BLOBS
$(SOFTMMU_ALL_RULES): $(edk2-decompressed)
+endif
.PHONY: $(TARGET_DIRS_RULES)
# The $(TARGET_DIRS_RULES) are of the form SUBDIR/GOAL, so that
diff --git a/configure b/configure
index efe165e..6099be1 100755
--- a/configure
+++ b/configure
@@ -427,6 +427,7 @@ softmmu="yes"
linux_user="no"
bsd_user="no"
blobs="yes"
+edk2_blobs="no"
pkgversion=""
pie=""
qom_cast_debug="yes"
@@ -2146,6 +2147,18 @@ case " $target_list " in
;;
esac
+for target in $target_list; do
+ case "$target" in
+ arm-softmmu | aarch64-softmmu | i386-softmmu | x86_64-softmmu)
+ edk2_blobs="yes"
+ ;;
+ esac
+done
+# The EDK2 binaries are compressed with bzip2
+if test "$edk2_blobs" = "yes" && ! has bzip2; then
+ error_exit "The bzip2 program is required for building QEMU"
+fi
+
feature_not_found() {
feature=$1
remedy=$2
@@ -7526,6 +7539,10 @@ if test "$libudev" != "no"; then
echo "LIBUDEV_LIBS=$libudev_libs" >> $config_host_mak
fi
+if test "$edk2_blobs" = "yes" ; then
+ echo "DECOMPRESS_EDK2_BLOBS=y" >> $config_host_mak
+fi
+
# use included Linux headers
if test "$linux" = "yes" ; then
mkdir -p linux-headers
diff --git a/tests/cpu-plug-test.c b/tests/cpu-plug-test.c
index 058cef5..30e514b 100644
--- a/tests/cpu-plug-test.c
+++ b/tests/cpu-plug-test.c
@@ -99,6 +99,7 @@ static void test_plug_with_device_add(gconstpointer data)
cpu = qobject_to(QDict, e);
if (qdict_haskey(cpu, "qom-path")) {
+ qobject_unref(e);
continue;
}
@@ -107,6 +108,7 @@ static void test_plug_with_device_add(gconstpointer data)
qtest_qmp_device_add_qdict(qts, td->device_model, props);
hotplugged++;
+ qobject_unref(e);
}
/* make sure that there were hotplugged CPUs */
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 3706bcc..91e9cb2 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -1274,6 +1274,7 @@ void qtest_qmp_device_add(QTestState *qts, const char *driver, const char *id,
qdict_put_str(args, "id", id);
qtest_qmp_device_add_qdict(qts, driver, args);
+ qobject_unref(args);
}
static void device_deleted_cb(void *opaque, const char *name, QDict *data)
diff --git a/tests/migration-test.c b/tests/migration-test.c
index 59f291c..ac780df 100644
--- a/tests/migration-test.c
+++ b/tests/migration-test.c
@@ -899,8 +899,13 @@ static void wait_for_migration_fail(QTestState *from, bool allow_active)
do {
status = migrate_query_status(from);
- g_assert(!strcmp(status, "setup") || !strcmp(status, "failed") ||
- (allow_active && !strcmp(status, "active")));
+ bool result = !strcmp(status, "setup") || !strcmp(status, "failed") ||
+ (allow_active && !strcmp(status, "active"));
+ if (!result) {
+ fprintf(stderr, "%s: unexpected status status=%s allow_active=%d\n",
+ __func__, status, allow_active);
+ }
+ g_assert(result);
failed = !strcmp(status, "failed");
g_free(status);
} while (!failed);