qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change)
@ 2020-03-27 18:13 Alex Bennée
  2020-03-27 18:13 ` [PULL v2 01/12] qemu/atomic.h: add #ifdef guards for stdatomic.h Alex Bennée
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell; +Cc: Alex Bennée, qemu-devel

The following changes since commit cfe68ae025f704f336d7dd3d1903ce37b445831d:

  Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.0-pull-request' into staging (2020-03-26 20:55:54 +0000)

are available in the Git repository at:

  https://github.com/stsquad/qemu.git tags/pull-testing-270320-2

for you to fetch changes up to 41e1f0e2256e4c21bc5671ecb64191e776477c35:

  .travis.yml: Add a KVM-only s390x job (2020-03-27 13:43:20 +0000)

----------------------------------------------------------------
Testing updates:

  - docker updates (various dependencies)
  - travis updates (s390x KVM build)
  - tweak qemu/atomic.h headers in event of clash
  - test/vm updates (NetBSD -> 9.0, FreeBSD -> 12.1)
  - disable MTTCG for mips64/mips64el

----------------------------------------------------------------
Alex Bennée (3):
      qemu/atomic.h: add #ifdef guards for stdatomic.h
      tests/vm: fix basevm config
      configure: disable MTTCG for MIPS guests

Gerd Hoffmann (4):
      tests/vm: write raw console log
      tests/vm: move vga setup
      tests/vm: update FreeBSD to 12.1
      tests/vm: update NetBSD to 9.0

Philippe Mathieu-Daudé (5):
      tests/docker: Keep package list sorted
      tests/docker: Install gcrypt devel package in Debian image
      tests/docker: Use Python3 PyYAML in the Fedora image
      tests/docker: Add libepoxy and libudev packages to the Fedora image
      .travis.yml: Add a KVM-only s390x job

 configure                                    |  2 +-
 include/qemu/atomic.h                        |  6 ++++
 .travis.yml                                  | 42 ++++++++++++++++++++++++++++
 tests/docker/dockerfiles/centos7.docker      |  6 ++--
 tests/docker/dockerfiles/debian-amd64.docker |  1 +
 tests/docker/dockerfiles/fedora.docker       | 10 +++++--
 tests/vm/basevm.py                           | 23 +++++++++------
 tests/vm/fedora                              |  1 +
 tests/vm/freebsd                             |  5 ++--
 tests/vm/netbsd                              | 24 +++++-----------
 tests/vm/openbsd                             |  1 +
 tests/vm/ubuntu.i386                         |  5 +++-
 12 files changed, 91 insertions(+), 35 deletions(-)

-- 
2.20.1



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PULL v2 01/12] qemu/atomic.h: add #ifdef guards for stdatomic.h
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 02/12] tests/vm: write raw console log Alex Bennée
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell; +Cc: Richard Henderson, Alex Bennée, qemu-devel

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 <alex.bennee@linaro.org>
Message-Id: <20200326170121.13045-1-alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h
index f9cd24c8994..ff72db51154 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)
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 02/12] tests/vm: write raw console log
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
  2020-03-27 18:13 ` [PULL v2 01/12] qemu/atomic.h: add #ifdef guards for stdatomic.h Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 03/12] tests/vm: move vga setup Alex Bennée
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Fam Zheng, Philippe Mathieu-Daudé,
	Alex Bennée, qemu-devel, Gerd Hoffmann

From: Gerd Hoffmann <kraxel@redhat.com>

Run "tail -f /var/tmp/*/qemu*console.raw" in another terminal
to watch the install console.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200310083218.26355-2-kraxel@redhat.com>
Message-Id: <20200323161514.23952-2-alex.bennee@linaro.org>

diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index 8400b0e07f6..c53fd354d95 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)
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 03/12] tests/vm: move vga setup
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
  2020-03-27 18:13 ` [PULL v2 01/12] qemu/atomic.h: add #ifdef guards for stdatomic.h Alex Bennée
  2020-03-27 18:13 ` [PULL v2 02/12] tests/vm: write raw console log Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 04/12] tests/vm: update FreeBSD to 12.1 Alex Bennée
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Fam Zheng, Philippe Mathieu-Daudé,
	Alex Bennée, qemu-devel, Gerd Hoffmann

From: Gerd Hoffmann <kraxel@redhat.com>

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 <kraxel@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200310083218.26355-3-kraxel@redhat.com>
Message-Id: <20200323161514.23952-3-alex.bennee@linaro.org>

diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index c53fd354d95..cffe7c4600e 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 4843b4175e0..bd9c6cf295c 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 86770878b67..58166766d91 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 55590f46015..f3257bc245a 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 ab6abbedab5..0b705f49452 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 3266038fbde..15707753353 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")
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 04/12] tests/vm: update FreeBSD to 12.1
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
                   ` (2 preceding siblings ...)
  2020-03-27 18:13 ` [PULL v2 03/12] tests/vm: move vga setup Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 05/12] tests/vm: update NetBSD to 9.0 Alex Bennée
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Fam Zheng, Philippe Mathieu-Daudé,
	Alex Bennée, qemu-devel, Gerd Hoffmann

From: Gerd Hoffmann <kraxel@redhat.com>

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20200310083218.26355-4-kraxel@redhat.com>
Message-Id: <20200323161514.23952-4-alex.bennee@linaro.org>

diff --git a/tests/vm/freebsd b/tests/vm/freebsd
index 58166766d91..298967fe9cf 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
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 05/12] tests/vm: update NetBSD to 9.0
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
                   ` (3 preceding siblings ...)
  2020-03-27 18:13 ` [PULL v2 04/12] tests/vm: update FreeBSD to 12.1 Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 06/12] tests/vm: fix basevm config Alex Bennée
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Fam Zheng, Alex Bennée, qemu-devel, Kamil Rytarowski,
	Gerd Hoffmann, Philippe Mathieu-Daudé

From: Gerd Hoffmann <kraxel@redhat.com>

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 <kraxel@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20200310083218.26355-5-kraxel@redhat.com>
Message-Id: <20200323161514.23952-5-alex.bennee@linaro.org>

diff --git a/tests/vm/netbsd b/tests/vm/netbsd
index f3257bc245a..b10c9d429de 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")
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 06/12] tests/vm: fix basevm config
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
                   ` (4 preceding siblings ...)
  2020-03-27 18:13 ` [PULL v2 05/12] tests/vm: update NetBSD to 9.0 Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 07/12] configure: disable MTTCG for MIPS guests Alex Bennée
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Fam Zheng, Philippe Mathieu-Daudé, Alex Bennée, qemu-devel

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 <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200323161514.23952-6-alex.bennee@linaro.org>

diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index cffe7c4600e..756ccf7acae 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:
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 07/12] configure: disable MTTCG for MIPS guests
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
                   ` (5 preceding siblings ...)
  2020-03-27 18:13 ` [PULL v2 06/12] tests/vm: fix basevm config Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 08/12] tests/docker: Keep package list sorted Alex Bennée
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Alex Bennée, Richard Henderson, qemu-devel,
	Philippe Mathieu-Daudé,
	Aleksandar Markovic, Aleksandar Rikalo,
	Philippe Mathieu-Daudé,
	Aurelien Jarno

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 <alex.bennee@linaro.org>
Acked-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Cc: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com>
Message-Id: <20200323161514.23952-7-alex.bennee@linaro.org>

diff --git a/configure b/configure
index 89fe881dd46..e225a1e3ffe 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
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 08/12] tests/docker: Keep package list sorted
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
                   ` (6 preceding siblings ...)
  2020-03-27 18:13 ` [PULL v2 07/12] configure: disable MTTCG for MIPS guests Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 09/12] tests/docker: Install gcrypt devel package in Debian image Alex Bennée
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Fam Zheng, Alex Bennée, Richard Henderson,
	Philippe Mathieu-Daudé,
	qemu-devel

From: Philippe Mathieu-Daudé <philmd@redhat.com>

Keep package list sorted, this eases rebase/cherry-pick.

Fixes: 3a6784813
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200322120104.21267-2-philmd@redhat.com>
Message-Id: <20200323161514.23952-8-alex.bennee@linaro.org>

diff --git a/tests/docker/dockerfiles/centos7.docker b/tests/docker/dockerfiles/centos7.docker
index cdd72de7ebf..9a2a2e515d7 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 a6522228c02..019eb12dcb1 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
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 09/12] tests/docker: Install gcrypt devel package in Debian image
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
                   ` (7 preceding siblings ...)
  2020-03-27 18:13 ` [PULL v2 08/12] tests/docker: Keep package list sorted Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 10/12] tests/docker: Use Python3 PyYAML in the Fedora image Alex Bennée
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Fam Zheng, Alex Bennée, Richard Henderson,
	Philippe Mathieu-Daudé,
	qemu-devel

From: Philippe Mathieu-Daudé <philmd@redhat.com>

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é <philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200322120104.21267-3-philmd@redhat.com>
Message-Id: <20200323161514.23952-9-alex.bennee@linaro.org>

diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker
index d4849f509f4..957f0bc2e79 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 \
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 10/12] tests/docker: Use Python3 PyYAML in the Fedora image
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
                   ` (8 preceding siblings ...)
  2020-03-27 18:13 ` [PULL v2 09/12] tests/docker: Install gcrypt devel package in Debian image Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 11/12] tests/docker: Add libepoxy and libudev packages to " Alex Bennée
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Fam Zheng, Alex Bennée, Richard Henderson,
	Philippe Mathieu-Daudé,
	qemu-devel

From: Philippe Mathieu-Daudé <philmd@redhat.com>

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é <philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200322120104.21267-4-philmd@redhat.com>
Message-Id: <20200323161514.23952-10-alex.bennee@linaro.org>

diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 019eb12dcb1..174979c7af4 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 \
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 11/12] tests/docker: Add libepoxy and libudev packages to the Fedora image
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
                   ` (9 preceding siblings ...)
  2020-03-27 18:13 ` [PULL v2 10/12] tests/docker: Use Python3 PyYAML in the Fedora image Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 18:13 ` [PULL v2 12/12] .travis.yml: Add a KVM-only s390x job Alex Bennée
  2020-03-27 19:18 ` [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Peter Maydell
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Fam Zheng, Alex Bennée, Richard Henderson,
	Philippe Mathieu-Daudé,
	qemu-devel

From: Philippe Mathieu-Daudé <philmd@redhat.com>

Install optional dependencies of QEMU to get better coverage.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200322120104.21267-5-philmd@redhat.com>
Message-Id: <20200323161514.23952-11-alex.bennee@linaro.org>

diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 174979c7af4..4bd2c953af8 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 \
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PULL v2 12/12] .travis.yml: Add a KVM-only s390x job
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
                   ` (10 preceding siblings ...)
  2020-03-27 18:13 ` [PULL v2 11/12] tests/docker: Add libepoxy and libudev packages to " Alex Bennée
@ 2020-03-27 18:13 ` Alex Bennée
  2020-03-27 19:18 ` [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Peter Maydell
  12 siblings, 0 replies; 14+ messages in thread
From: Alex Bennée @ 2020-03-27 18:13 UTC (permalink / raw)
  To: peter.maydell
  Cc: Fam Zheng, Philippe Mathieu-Daudé,
	Cornelia Huck, Richard Henderson, qemu-devel,
	open list:S390 general arch...,
	Alex Bennée

From: Philippe Mathieu-Daudé <philmd@redhat.com>

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 <cohuck@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200322154015.25358-1-philmd@redhat.com>
Message-Id: <20200323161514.23952-12-alex.bennee@linaro.org>

diff --git a/.travis.yml b/.travis.yml
index 5672d129ec6..e0c72210b7a 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.
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change)
  2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
                   ` (11 preceding siblings ...)
  2020-03-27 18:13 ` [PULL v2 12/12] .travis.yml: Add a KVM-only s390x job Alex Bennée
@ 2020-03-27 19:18 ` Peter Maydell
  12 siblings, 0 replies; 14+ messages in thread
From: Peter Maydell @ 2020-03-27 19:18 UTC (permalink / raw)
  To: Alex Bennée; +Cc: QEMU Developers

On Fri, 27 Mar 2020 at 18:13, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> The following changes since commit cfe68ae025f704f336d7dd3d1903ce37b445831d:
>
>   Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.0-pull-request' into staging (2020-03-26 20:55:54 +0000)
>
> are available in the Git repository at:
>
>   https://github.com/stsquad/qemu.git tags/pull-testing-270320-2
>
> for you to fetch changes up to 41e1f0e2256e4c21bc5671ecb64191e776477c35:
>
>   .travis.yml: Add a KVM-only s390x job (2020-03-27 13:43:20 +0000)
>
> ----------------------------------------------------------------
> Testing updates:
>
>   - docker updates (various dependencies)
>   - travis updates (s390x KVM build)
>   - tweak qemu/atomic.h headers in event of clash
>   - test/vm updates (NetBSD -> 9.0, FreeBSD -> 12.1)
>   - disable MTTCG for mips64/mips64el
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.0
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2020-03-27 19:19 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-27 18:13 [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Alex Bennée
2020-03-27 18:13 ` [PULL v2 01/12] qemu/atomic.h: add #ifdef guards for stdatomic.h Alex Bennée
2020-03-27 18:13 ` [PULL v2 02/12] tests/vm: write raw console log Alex Bennée
2020-03-27 18:13 ` [PULL v2 03/12] tests/vm: move vga setup Alex Bennée
2020-03-27 18:13 ` [PULL v2 04/12] tests/vm: update FreeBSD to 12.1 Alex Bennée
2020-03-27 18:13 ` [PULL v2 05/12] tests/vm: update NetBSD to 9.0 Alex Bennée
2020-03-27 18:13 ` [PULL v2 06/12] tests/vm: fix basevm config Alex Bennée
2020-03-27 18:13 ` [PULL v2 07/12] configure: disable MTTCG for MIPS guests Alex Bennée
2020-03-27 18:13 ` [PULL v2 08/12] tests/docker: Keep package list sorted Alex Bennée
2020-03-27 18:13 ` [PULL v2 09/12] tests/docker: Install gcrypt devel package in Debian image Alex Bennée
2020-03-27 18:13 ` [PULL v2 10/12] tests/docker: Use Python3 PyYAML in the Fedora image Alex Bennée
2020-03-27 18:13 ` [PULL v2 11/12] tests/docker: Add libepoxy and libudev packages to " Alex Bennée
2020-03-27 18:13 ` [PULL v2 12/12] .travis.yml: Add a KVM-only s390x job Alex Bennée
2020-03-27 19:18 ` [PULL v2 for 5.0 00/12] testing updates (+ one mttcg change) Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).