From f4ce3adf6b29e8e984b1a69e4876eaf4ac4022a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Thu, 26 Mar 2020 16:46:16 +0000 Subject: [PATCH 01/12] qemu/atomic.h: add #ifdef guards for stdatomic.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deep inside the FreeBSD netmap headers we end up including stdatomic.h which clashes with qemu's atomic functions which are modelled along the C11 standard. To avoid a massive rename lets just ifdef around the problem. Signed-off-by: Alex Bennée Message-Id: <20200326170121.13045-1-alex.bennee@linaro.org> Reviewed-by: Richard Henderson --- include/qemu/atomic.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h index f9cd24c899..ff72db5115 100644 --- a/include/qemu/atomic.h +++ b/include/qemu/atomic.h @@ -208,11 +208,14 @@ /* Provide shorter names for GCC atomic builtins, return old value */ #define atomic_fetch_inc(ptr) __atomic_fetch_add(ptr, 1, __ATOMIC_SEQ_CST) #define atomic_fetch_dec(ptr) __atomic_fetch_sub(ptr, 1, __ATOMIC_SEQ_CST) + +#ifndef atomic_fetch_add #define atomic_fetch_add(ptr, n) __atomic_fetch_add(ptr, n, __ATOMIC_SEQ_CST) #define atomic_fetch_sub(ptr, n) __atomic_fetch_sub(ptr, n, __ATOMIC_SEQ_CST) #define atomic_fetch_and(ptr, n) __atomic_fetch_and(ptr, n, __ATOMIC_SEQ_CST) #define atomic_fetch_or(ptr, n) __atomic_fetch_or(ptr, n, __ATOMIC_SEQ_CST) #define atomic_fetch_xor(ptr, n) __atomic_fetch_xor(ptr, n, __ATOMIC_SEQ_CST) +#endif #define atomic_inc_fetch(ptr) __atomic_add_fetch(ptr, 1, __ATOMIC_SEQ_CST) #define atomic_dec_fetch(ptr) __atomic_sub_fetch(ptr, 1, __ATOMIC_SEQ_CST) @@ -392,11 +395,14 @@ /* Provide shorter names for GCC atomic builtins. */ #define atomic_fetch_inc(ptr) __sync_fetch_and_add(ptr, 1) #define atomic_fetch_dec(ptr) __sync_fetch_and_add(ptr, -1) + +#ifndef atomic_fetch_add #define atomic_fetch_add(ptr, n) __sync_fetch_and_add(ptr, n) #define atomic_fetch_sub(ptr, n) __sync_fetch_and_sub(ptr, n) #define atomic_fetch_and(ptr, n) __sync_fetch_and_and(ptr, n) #define atomic_fetch_or(ptr, n) __sync_fetch_and_or(ptr, n) #define atomic_fetch_xor(ptr, n) __sync_fetch_and_xor(ptr, n) +#endif #define atomic_inc_fetch(ptr) __sync_add_and_fetch(ptr, 1) #define atomic_dec_fetch(ptr) __sync_add_and_fetch(ptr, -1) From 698a64f94814eb5e6a4bad5afe00ab09f163bc44 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 23 Mar 2020 16:15:04 +0000 Subject: [PATCH 02/12] tests/vm: write raw console log MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Run "tail -f /var/tmp/*/qemu*console.raw" in another terminal to watch the install console. Signed-off-by: Gerd Hoffmann Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20200310083218.26355-2-kraxel@redhat.com> Message-Id: <20200323161514.23952-2-alex.bennee@linaro.org> --- tests/vm/basevm.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index 8400b0e07f..c53fd354d9 100644 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -213,6 +213,9 @@ class BaseVM(object): def console_init(self, timeout = 120): vm = self._guest vm.console_socket.settimeout(timeout) + self.console_raw_path = os.path.join(vm._temp_dir, + vm._name + "-console.raw") + self.console_raw_file = open(self.console_raw_path, 'wb') def console_log(self, text): for line in re.split("[\r\n]", text): @@ -234,6 +237,9 @@ class BaseVM(object): while True: try: chars = vm.console_socket.recv(1) + if self.console_raw_file: + self.console_raw_file.write(chars) + self.console_raw_file.flush() except socket.timeout: sys.stderr.write("console: *** read timeout ***\n") sys.stderr.write("console: waiting for: '%s'\n" % expect) From 50a06452c75424ad5f0a8d57997d7e16011160b3 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 23 Mar 2020 16:15:05 +0000 Subject: [PATCH 03/12] tests/vm: move vga setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move '-device VGA' from basevm.py to the guests, so they have the chance to opt out and run without display device. Signed-off-by: Gerd Hoffmann Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20200310083218.26355-3-kraxel@redhat.com> Message-Id: <20200323161514.23952-3-alex.bennee@linaro.org> --- tests/vm/basevm.py | 1 - tests/vm/fedora | 1 + tests/vm/freebsd | 1 + tests/vm/netbsd | 1 + tests/vm/openbsd | 1 + tests/vm/ubuntu.i386 | 5 ++++- 6 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index c53fd354d9..cffe7c4600 100644 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -179,7 +179,6 @@ class BaseVM(object): def boot(self, img, extra_args=[]): args = self._args + [ - "-device", "VGA", "-drive", "file=%s,if=none,id=drive0,cache=writeback" % img, "-device", "virtio-blk,drive=drive0,bootindex=0"] args += self._data_args + extra_args diff --git a/tests/vm/fedora b/tests/vm/fedora index 4843b4175e..bd9c6cf295 100755 --- a/tests/vm/fedora +++ b/tests/vm/fedora @@ -82,6 +82,7 @@ class FedoraVM(basevm.BaseVM): self.boot(img_tmp, extra_args = [ "-bios", "pc-bios/bios-256k.bin", "-machine", "graphics=off", + "-device", "VGA", "-cdrom", iso ]) self.console_init(300) diff --git a/tests/vm/freebsd b/tests/vm/freebsd index 86770878b6..58166766d9 100755 --- a/tests/vm/freebsd +++ b/tests/vm/freebsd @@ -92,6 +92,7 @@ class FreeBSDVM(basevm.BaseVM): self.boot(img_tmp, extra_args = [ "-bios", "pc-bios/bios-256k.bin", "-machine", "graphics=off", + "-device", "VGA", "-cdrom", iso ]) self.console_init() diff --git a/tests/vm/netbsd b/tests/vm/netbsd index 55590f4601..f3257bc245 100755 --- a/tests/vm/netbsd +++ b/tests/vm/netbsd @@ -86,6 +86,7 @@ class NetBSDVM(basevm.BaseVM): self.boot(img_tmp, extra_args = [ "-bios", "pc-bios/bios-256k.bin", "-machine", "graphics=off", + "-device", "VGA", "-cdrom", iso ]) self.console_init() diff --git a/tests/vm/openbsd b/tests/vm/openbsd index ab6abbedab..0b705f4945 100755 --- a/tests/vm/openbsd +++ b/tests/vm/openbsd @@ -82,6 +82,7 @@ class OpenBSDVM(basevm.BaseVM): self.boot(img_tmp, extra_args = [ "-bios", "pc-bios/bios-256k.bin", "-machine", "graphics=off", + "-device", "VGA", "-cdrom", iso ]) self.console_init() diff --git a/tests/vm/ubuntu.i386 b/tests/vm/ubuntu.i386 index 3266038fbd..1570775335 100755 --- a/tests/vm/ubuntu.i386 +++ b/tests/vm/ubuntu.i386 @@ -36,7 +36,10 @@ class UbuntuX86VM(basevm.BaseVM): img_tmp = img + ".tmp" subprocess.check_call(["cp", "-f", cimg, img_tmp]) self.exec_qemu_img("resize", img_tmp, "50G") - self.boot(img_tmp, extra_args = ["-cdrom", self.gen_cloud_init_iso()]) + self.boot(img_tmp, extra_args = [ + "-device", "VGA", + "-cdrom", self.gen_cloud_init_iso() + ]) self.wait_ssh() self.ssh_root_check("touch /etc/cloud/cloud-init.disabled") self.ssh_root_check("apt-get update") From 610bd2cf2f3b828c8ad03c63ed589ffb73fad650 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 23 Mar 2020 16:15:06 +0000 Subject: [PATCH 04/12] tests/vm: update FreeBSD to 12.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Gerd Hoffmann Signed-off-by: Alex Bennée Message-Id: <20200310083218.26355-4-kraxel@redhat.com> Message-Id: <20200323161514.23952-4-alex.bennee@linaro.org> --- tests/vm/freebsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/vm/freebsd b/tests/vm/freebsd index 58166766d9..298967fe9c 100755 --- a/tests/vm/freebsd +++ b/tests/vm/freebsd @@ -24,8 +24,8 @@ class FreeBSDVM(basevm.BaseVM): name = "freebsd" arch = "x86_64" - link = "https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-disc1.iso.xz" - csum = "1d40015bea89d05b8bd13e2ed80c40b522a9ec1abd8e7c8b80954fb485fb99db" + link = "https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-disc1.iso.xz" + csum = "7394c3f60a1e236e7bd3a05809cf43ae39a3b8e5d42d782004cf2f26b1cfcd88" size = "20G" pkgs = [ # build tools From 2cc3e591b3321aa44ea09527ae1e4d443615d2c7 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 23 Mar 2020 16:15:07 +0000 Subject: [PATCH 05/12] tests/vm: update NetBSD to 9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The installer supports GPT now, so the install workflow has changed a bit. Also: run without VGA device. This works around a bug in the seabios sercon code and makes the bootloader menu show up on the serial line, so we can drop the quirk for that. Signed-off-by: Gerd Hoffmann Signed-off-by: Alex Bennée Message-Id: <20200310083218.26355-5-kraxel@redhat.com> Message-Id: <20200323161514.23952-5-alex.bennee@linaro.org> --- tests/vm/netbsd | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/tests/vm/netbsd b/tests/vm/netbsd index f3257bc245..b10c9d429d 100755 --- a/tests/vm/netbsd +++ b/tests/vm/netbsd @@ -22,8 +22,8 @@ class NetBSDVM(basevm.BaseVM): name = "netbsd" arch = "x86_64" - link = "https://cdn.netbsd.org/pub/NetBSD/NetBSD-8.1/images/NetBSD-8.1-amd64.iso" - csum = "718f275b7e0879599bdac95630c5e3f2184700032fdb6cdebf3bdd63687898c48ff3f08f57b89f4437a86cdd8ea07c01a39d432dbb37e1e4b008f4985f98da3f" + link = "https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0/images/NetBSD-9.0-amd64.iso" + csum = "34da4882ee61bdbf69f241195a8933dc800949d30b43fc6988da853d57fc2b8cac50cf97a0d2adaf93250b4e329d189c1a8b83c33bd515226f37745d50c33369" size = "20G" pkgs = [ # tools @@ -86,42 +86,31 @@ class NetBSDVM(basevm.BaseVM): self.boot(img_tmp, extra_args = [ "-bios", "pc-bios/bios-256k.bin", "-machine", "graphics=off", - "-device", "VGA", "-cdrom", iso ]) self.console_init() - self.console_wait("Primary Bootstrap") - - # serial console boot menu output doesn't work for some - # reason, so we have to fly blind ... - for char in list("5consdev com0\n"): - time.sleep(0.2) - self.console_send(char) - self.console_consume() + self.console_wait_send("3. Drop to boot prompt", "3") + self.console_wait_send("> ", "consdev com0\n") self.console_wait_send("> ", "boot\n") self.console_wait_send("Terminal type", "xterm\n") self.console_wait_send("a: Installation messages", "a\n") - self.console_wait_send("b: US-English", "b\n") self.console_wait_send("a: Install NetBSD", "a\n") self.console_wait("Shall we continue?") self.console_wait_send("b: Yes", "b\n") self.console_wait_send("a: ld0", "a\n") + self.console_wait_send("a: Guid Partition Table", "a\n") self.console_wait_send("a: This is the correct", "a\n") - self.console_wait_send("b: Use the entire disk", "b\n") - self.console_wait("NetBSD bootcode") - self.console_wait_send("a: Yes", "a\n") - self.console_wait_send("b: Use existing part", "b\n") + self.console_wait_send("b: Use default part", "b\n") self.console_wait_send("x: Partition sizes ok", "x\n") - self.console_wait_send("for your NetBSD disk", "\n") self.console_wait("Shall we continue?") self.console_wait_send("b: Yes", "b\n") self.console_wait_send("b: Use serial port com0", "b\n") self.console_wait_send("f: Set serial baud rate", "f\n") self.console_wait_send("a: 9600", "a\n") - self.console_wait_send("x: Exit", "x\n") + self.console_wait_send("x: Continue", "x\n") self.console_wait_send("a: Full installation", "a\n") self.console_wait_send("a: CD-ROM", "a\n") From f01454ad17e3dcede67625e846cfbbd603e768e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Mon, 23 Mar 2020 16:15:08 +0000 Subject: [PATCH 06/12] tests/vm: fix basevm config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the patch was merged it was part of a longer series which had already merged the config changes. Semu-revert the config related changes for now so things will build. Fixes: b081986c85fd2 Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20200323161514.23952-6-alex.bennee@linaro.org> --- tests/vm/basevm.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index cffe7c4600..756ccf7aca 100644 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -358,23 +358,23 @@ class BaseVM(object): "local-hostname: {}-guest\n".format(name)]) mdata.close() udata = open(os.path.join(cidir, "user-data"), "w") - print("guest user:pw {}:{}".format(self._config['guest_user'], - self._config['guest_pass'])) + print("guest user:pw {}:{}".format(self.GUEST_USER, + self.GUEST_PASS)) udata.writelines(["#cloud-config\n", "chpasswd:\n", " list: |\n", - " root:%s\n" % self._config['root_pass'], - " %s:%s\n" % (self._config['guest_user'], - self._config['guest_pass']), + " root:%s\n" % self.ROOT_PASS, + " %s:%s\n" % (self.GUEST_USER, + self.GUEST_PASS), " expire: False\n", "users:\n", - " - name: %s\n" % self._config['guest_user'], + " - name: %s\n" % self.GUEST_USER, " sudo: ALL=(ALL) NOPASSWD:ALL\n", " ssh-authorized-keys:\n", - " - %s\n" % self._config['ssh_pub_key'], + " - %s\n" % SSH_PUB_KEY, " - name: root\n", " ssh-authorized-keys:\n", - " - %s\n" % self._config['ssh_pub_key'], + " - %s\n" % SSH_PUB_KEY, "locale: en_US.UTF-8\n"]) proxy = os.environ.get("http_proxy") if not proxy is None: From a092a95547710bcbb8c168e5ec03f55fb4ab1ad7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Mon, 23 Mar 2020 16:15:09 +0000 Subject: [PATCH 07/12] configure: disable MTTCG for MIPS guests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit While debugging check-acceptance failures I found an instability in the mips64el test case. Briefly the test case: retry.py -n 100 -c -- ./mips64el-softmmu/qemu-system-mips64el \ -display none -vga none -serial mon:stdio \ -machine malta -kernel ./vmlinux-4.7.0-rc1.I6400 \ -cpu I6400 -smp 8 -vga std \ -append "printk.time=0 clocksource=GIC console=tty0 console=ttyS0 panic=-1" \ --no-reboot Reports about a 9% failure rate: Results summary: 0: 91 times (91.00%), avg time 5.547 (0.45 varience/0.67 deviation) -6: 9 times (9.00%), avg time 3.394 (0.02 varience/0.13 deviation) Ran command 100 times, 91 passes When re-run with "--accel tcg,thread=single" the instability goes away. Results summary: 0: 100 times (100.00%), avg time 17.318 (249.76 varience/15.80 deviation) Ran command 100 times, 100 passes Which seems to indicate there is some aspect of the MIPS MTTCG fixes that has been missed. Ideally we would fix that but I'm afraid I don't have time to investigate and am not super familiar with the architecture anyway. In lieu of someone tracking down the failure lets disable it for now. Signed-off-by: Alex Bennée Acked-by: Philippe Mathieu-Daudé Reviewed-by: Philippe Mathieu-Daudé Acked-by: Richard Henderson Reviewed-by: Aleksandar Markovic Cc: Aurelien Jarno Cc: Aleksandar Rikalo Message-Id: <20200323161514.23952-7-alex.bennee@linaro.org> --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 89fe881dd4..e225a1e3ff 100755 --- a/configure +++ b/configure @@ -7887,7 +7887,7 @@ case "$target_name" in TARGET_SYSTBL_ABI=n32 ;; mips64|mips64el) - mttcg="yes" + mttcg="no" TARGET_ARCH=mips64 TARGET_BASE_ARCH=mips echo "TARGET_ABI_MIPSN64=y" >> $config_target_mak From cdb1a84cfe57558a34d73d0252ad0271539194e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Mon, 23 Mar 2020 16:15:10 +0000 Subject: [PATCH 08/12] tests/docker: Keep package list sorted MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Keep package list sorted, this eases rebase/cherry-pick. Fixes: 3a6784813 Signed-off-by: Philippe Mathieu-Daudé Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200322120104.21267-2-philmd@redhat.com> Message-Id: <20200323161514.23952-8-alex.bennee@linaro.org> --- tests/docker/dockerfiles/centos7.docker | 6 ++++-- tests/docker/dockerfiles/fedora.docker | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/docker/dockerfiles/centos7.docker b/tests/docker/dockerfiles/centos7.docker index cdd72de7eb..9a2a2e515d 100644 --- a/tests/docker/dockerfiles/centos7.docker +++ b/tests/docker/dockerfiles/centos7.docker @@ -2,6 +2,8 @@ FROM centos:7 RUN yum install -y epel-release centos-release-xen-48 RUN yum -y update + +# Please keep this list sorted alphabetically ENV PACKAGES \ bison \ bzip2 \ @@ -19,6 +21,7 @@ ENV PACKAGES \ libepoxy-devel \ libfdt-devel \ librdmacm-devel \ + libzstd-devel \ lzo-devel \ make \ mesa-libEGL-devel \ @@ -33,7 +36,6 @@ ENV PACKAGES \ tar \ vte-devel \ xen-devel \ - zlib-devel \ - libzstd-devel + zlib-devel RUN yum install -y $PACKAGES RUN rpm -q $PACKAGES | sort > /packages.txt diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker index a6522228c0..019eb12dcb 100644 --- a/tests/docker/dockerfiles/fedora.docker +++ b/tests/docker/dockerfiles/fedora.docker @@ -1,4 +1,6 @@ FROM fedora:30 + +# Please keep this list sorted alphabetically ENV PACKAGES \ bc \ bison \ @@ -38,6 +40,7 @@ ENV PACKAGES \ libubsan \ libusbx-devel \ libxml2-devel \ + libzstd-devel \ llvm \ lzo-devel \ make \ @@ -92,8 +95,7 @@ ENV PACKAGES \ vte291-devel \ which \ xen-devel \ - zlib-devel \ - libzstd-devel + zlib-devel ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3 RUN dnf install -y $PACKAGES From 9274ae32c34971c2bb3a640ec265e886cdd438c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Mon, 23 Mar 2020 16:15:11 +0000 Subject: [PATCH 09/12] tests/docker: Install gcrypt devel package in Debian image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In commit 6f8bbb374be we enabled building with the gcrypt library on the the Debian 'x86 host', which was based on Debian Stretch. Later in commit 698a71edbed we upgraded the Debian base image to Buster. Apparently Debian Stretch was listing gcrypt as a QEMU dependency, but this is not the case anymore in Buster, so we need to install it manually (it it not listed by 'apt-get -s build-dep qemu' in the common debian10.docker anymore). This fixes: $ ../configure $QEMU_CONFIGURE_OPTS ERROR: User requested feature gcrypt configure was not able to find it. Install gcrypt devel >= 1.5.0 Signed-off-by: Philippe Mathieu-Daudé Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200322120104.21267-3-philmd@redhat.com> Message-Id: <20200323161514.23952-9-alex.bennee@linaro.org> --- tests/docker/dockerfiles/debian-amd64.docker | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker index d4849f509f..957f0bc2e7 100644 --- a/tests/docker/dockerfiles/debian-amd64.docker +++ b/tests/docker/dockerfiles/debian-amd64.docker @@ -16,6 +16,7 @@ RUN apt update && \ apt install -y --no-install-recommends \ libbz2-dev \ liblzo2-dev \ + libgcrypt20-dev \ librdmacm-dev \ libsasl2-dev \ libsnappy-dev \ From 6d8e7738b0375d9bf247b73ed4739f741df03f21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Mon, 23 Mar 2020 16:15:12 +0000 Subject: [PATCH 10/12] tests/docker: Use Python3 PyYAML in the Fedora image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Python2 PyYAML is now pointless, switch to the Python3 version. Fixes: bcbf27947 (docker: move tests from python2 to python3) Signed-off-by: Philippe Mathieu-Daudé Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200322120104.21267-4-philmd@redhat.com> Message-Id: <20200323161514.23952-10-alex.bennee@linaro.org> --- tests/docker/dockerfiles/fedora.docker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker index 019eb12dcb..174979c7af 100644 --- a/tests/docker/dockerfiles/fedora.docker +++ b/tests/docker/dockerfiles/fedora.docker @@ -79,8 +79,8 @@ ENV PACKAGES \ perl-Test-Harness \ pixman-devel \ python3 \ + python3-PyYAML \ python3-sphinx \ - PyYAML \ rdma-core-devel \ SDL2-devel \ snappy-devel \ From 3e3207337b51f7a1a3cf4c93085f5afe904f1d5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Mon, 23 Mar 2020 16:15:13 +0000 Subject: [PATCH 11/12] tests/docker: Add libepoxy and libudev packages to the Fedora image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Install optional dependencies of QEMU to get better coverage. Suggested-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daudé Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200322120104.21267-5-philmd@redhat.com> Message-Id: <20200323161514.23952-11-alex.bennee@linaro.org> --- tests/docker/dockerfiles/fedora.docker | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker index 174979c7af..4bd2c953af 100644 --- a/tests/docker/dockerfiles/fedora.docker +++ b/tests/docker/dockerfiles/fedora.docker @@ -29,6 +29,7 @@ ENV PACKAGES \ libblockdev-mpath-devel \ libcap-ng-devel \ libcurl-devel \ + libepoxy-devel \ libfdt-devel \ libiscsi-devel \ libjpeg-devel \ @@ -38,6 +39,7 @@ ENV PACKAGES \ libseccomp-devel \ libssh-devel \ libubsan \ + libudev-devel \ libusbx-devel \ libxml2-devel \ libzstd-devel \ From 41e1f0e2256e4c21bc5671ecb64191e776477c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Mon, 23 Mar 2020 16:15:14 +0000 Subject: [PATCH 12/12] .travis.yml: Add a KVM-only s390x job MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a job to build QEMU on s390x with TCG disabled, so this configuration won't bitrot over time. This job is quick, running check-unit: Ran for 5 min 30 sec https://travis-ci.org/github/philmd/qemu/jobs/665456423 Acked-by: Cornelia Huck Signed-off-by: Philippe Mathieu-Daudé Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200322154015.25358-1-philmd@redhat.com> Message-Id: <20200323161514.23952-12-alex.bennee@linaro.org> --- .travis.yml | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/.travis.yml b/.travis.yml index 5672d129ec..e0c72210b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -525,6 +525,48 @@ jobs: $(exit $BUILD_RC); fi + - name: "[s390x] GCC check (KVM)" + arch: s390x + dist: bionic + addons: + apt_packages: + - libaio-dev + - libattr1-dev + - libbrlapi-dev + - libcap-ng-dev + - libgcrypt20-dev + - libgnutls28-dev + - libgtk-3-dev + - libiscsi-dev + - liblttng-ust-dev + - libncurses5-dev + - libnfs-dev + - libnss3-dev + - libpixman-1-dev + - libpng-dev + - librados-dev + - libsdl2-dev + - libseccomp-dev + - liburcu-dev + - libusb-1.0-0-dev + - libvdeplug-dev + - libvte-2.91-dev + # Tests dependencies + - genisoimage + env: + - TEST_CMD="make check-unit" + - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools" + script: + - ( cd ${SRC_DIR} ; git submodule update --init roms/SLOF ) + - BUILD_RC=0 && make -j${JOBS} || BUILD_RC=$? + - | + if [ "$BUILD_RC" -eq 0 ] ; then + mv pc-bios/s390-ccw/*.img pc-bios/ ; + ${TEST_CMD} ; + else + $(exit $BUILD_RC); + fi + # Release builds # The make-release script expect a QEMU version, so our tag must start with a 'v'. # This is the case when release candidate tags are created.