Skip to content
Snippets Groups Projects
  1. Sep 07, 2020
  2. Sep 06, 2020
  3. Sep 05, 2020
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20200903' into staging · 227de21e
      Peter Maydell authored
      
      Improve inlining in cputlb.c.
      Fix vector abs fallback.
      Only set parallel_cpus for SMP.
      Add vector dupm for 256-bit elements.
      
      # gpg: Signature made Thu 03 Sep 2020 22:38:25 BST
      # gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
      # gpg:                issuer "richard.henderson@linaro.org"
      # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [full]
      # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F
      
      * remotes/rth/tags/pull-tcg-20200903:
        tcg: Implement 256-bit dup for tcg_gen_gvec_dup_mem
        tcg: Eliminate one store for in-place 128-bit dup_mem
        softmmu/cpus: Only set parallel_cpus for SMP
        tcg: Fix tcg gen for vectorized absolute value
        cputlb: Make store_helper less fragile to compiler optimizations
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      227de21e
  4. Sep 04, 2020
  5. Sep 03, 2020
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2020-09-02' into staging · df817627
      Peter Maydell authored
      
      nbd patches for 2020-09-02
      
      - fix a few iotests affected by earlier nbd changes
      - avoid blocking qemu by nbd client in connect()
      - build qemu-nbd for mingw
      
      # gpg: Signature made Wed 02 Sep 2020 22:52:31 BST
      # gpg:                using RSA key 71C2CC22B1C4602927D2F3AAA7A16B4A2527436A
      # gpg: Good signature from "Eric Blake <eblake@redhat.com>" [full]
      # gpg:                 aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>" [full]
      # gpg:                 aka "[jpeg image of size 6874]" [full]
      # Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2  F3AA A7A1 6B4A 2527 436A
      
      * remotes/ericb/tags/pull-nbd-2020-09-02:
        nbd: disable signals and forking on Windows builds
        nbd: skip SIGTERM handler if NBD device support is not built
        block: add missing socket_init() calls to tools
        block/nbd: use non-blocking connect: fix vm hang on connect()
        iotests/259: Fix reference output
        iotests/059: Fix reference output
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      df817627
    • Richard Henderson's avatar
      tcg: Implement 256-bit dup for tcg_gen_gvec_dup_mem · fe4b0b5b
      Richard Henderson authored
      
      We already support duplication of 128-bit blocks.  This extends
      that support to 256-bit blocks.  This will be needed by SVE2.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      fe4b0b5b
    • Richard Henderson's avatar
      tcg: Eliminate one store for in-place 128-bit dup_mem · 6a176461
      Richard Henderson authored
      
      Do not store back to the exact memory from which we just loaded.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      6a176461
    • Richard Henderson's avatar
      softmmu/cpus: Only set parallel_cpus for SMP · 4ca3d09c
      Richard Henderson authored
      
      Do not set parallel_cpus if there is only one cpu instantiated.
      This will allow tcg to use serial code to implement atomics.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      4ca3d09c
    • Stephen Long's avatar
      tcg: Fix tcg gen for vectorized absolute value · e7e8f33f
      Stephen Long authored
      
      The fallback inline expansion for vectorized absolute value,
      when the host doesn't support such an insn was flawed.
      
      E.g. when a vector of bytes has all elements negative, mask
      will be 0xffff_ffff_ffff_ffff.  Subtracting mask only adds 1
      to the low element instead of all elements becase -mask is 1
      and not 0x0101_0101_0101_0101.
      
      Signed-off-by: default avatarStephen Long <steplong@quicinc.com>
      Message-Id: <20200813161818.190-1-steplong@quicinc.com>
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      e7e8f33f
    • Richard Henderson's avatar
      cputlb: Make store_helper less fragile to compiler optimizations · 6b8b622e
      Richard Henderson authored
      
      This has no functional change.
      
      The current function structure is:
      
          inline QEMU_ALWAYSINLINE
          store_memop() {
              switch () {
                  ...
              default:
                  qemu_build_not_reached();
              }
          }
          inline QEMU_ALWAYSINLINE
          store_helper() {
              ...
              if (span_two_pages_or_io) {
                  ...
                  helper_ret_stb_mmu();
              }
              store_memop();
          }
          helper_ret_stb_mmu() {
              store_helper();
          }
      
      Whereas GCC will generate an error at compile-time when an always_inline
      function is not inlined, Clang does not.  Nor does Clang prioritize the
      inlining of always_inline functions.  Both of these are arguably bugs.
      
      Both `store_memop` and `store_helper` need to be inlined and allow
      constant propogations to eliminate the `qemu_build_not_reached` call.
      
      However, if the compiler instead chooses to inline helper_ret_stb_mmu
      into store_helper, then store_helper is now self-recursive and the
      compiler is no longer able to propagate the constant in the same way.
      
      This does not produce at current QEMU head, but was reproducible
      at v4.2.0 with `clang-10 -O2 -fexperimental-new-pass-manager`.
      
      The inline recursion problem can be fixed solely by marking
      helper_ret_stb_mmu as noinline, so the compiler does not make an
      incorrect decision about which functions to inline.
      
      In addition, extract store_helper_unaligned as a noinline subroutine
      that can be shared by all of the helpers.  This saves about 6k code
      size in an optimized x86_64 build.
      
      Reported-by: default avatarShu-Chun Weng <scw@google.com>
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      6b8b622e
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2020-09-03' into staging · 67a7bfe5
      Peter Maydell authored
      
      * Cirrus-CI improvements and fixes (compile with -Werror & fix for 1h problem)
      * Two build system fixes to fix some failures the CI
      * One m68k QOMification patch
      * Some trivial qtest patches
      * Some small improvements for the Gitlab CI
      
      # gpg: Signature made Thu 03 Sep 2020 12:04:32 BST
      # 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-2020-09-03:
        gitlab-ci.yml: Set artifacts expiration time
        gitlab-ci.yml: Run check-qtest and check-unit at the end of the fuzzer job
        gitlab/travis: Rework the disabled features tests
        libqtest: Rename qmp_assert_error_class() to qmp_expect_error_and_unref()
        tests/qtest/ipmi-kcs: Fix assert side-effect
        tests/qtest/tpm: Declare input buffers const and static
        tests/qtest/ahci: Improve error handling (NEGATIVE_RETURNS)
        hw/m68k: QOMify the mcf5206 system integration module
        configure: Add system = 'linux' for meson when cross-compiling
        meson: fix keymaps without qemu-keymap
        cirrus.yml: Split FreeBSD job into two parts
        cirrus.yml: Update the macOS jobs to Catalina
        cirrus.yml: Compile macOS with -Werror
        cirrus.yml: Compile FreeBSD with -Werror
        configure: Fix atomic64 test for --enable-werror on macOS
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      67a7bfe5
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/legoater/tags/pull-aspeed-20200901' into staging · 3dd23a4f
      Peter Maydell authored
      
      Various fixes of Aspeed machines :
      
      * New Supermicro X11 BMC machine (Erik)
      * Fixed valid access size on AST2400 SCU
      * Improved robustness of the ftgmac100 model.
      * New flash models in m25p80 (Igor)
      * Fixed reset sequence of SDHCI/eMMC controllers
      * Improved support of the AST2600 SDMC  (Joel)
      * Couple of SMC cleanups
      
      # gpg: Signature made Tue 01 Sep 2020 13:39:20 BST
      # gpg:                using RSA key A0F66548F04895EBFE6B0B6051A343C7CFFBECA1
      # gpg: Good signature from "Cédric Le Goater <clg@kaod.org>" [undefined]
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: A0F6 6548 F048 95EB FE6B  0B60 51A3 43C7 CFFB ECA1
      
      * remotes/legoater/tags/pull-aspeed-20200901:
        hw: add a number of SPI-flash's of m25p80 family
        arm: aspeed: add strap define `25HZ` of AST2500
        aspeed/smc: Open AHB window of the second chip of the AST2600 FMC controller
        aspeed/sdmc: Simplify calculation of RAM bits
        aspeed/sdmc: Allow writes to unprotected registers
        aspeed/sdmc: Perform memory training
        ftgmac100: Improve software reset
        ftgmac100: Fix integer overflow in ftgmac100_do_tx()
        ftgmac100: Check for invalid len and address before doing a DMA transfer
        ftgmac100: Change interrupt status when a DMA error occurs
        ftgmac100: Fix interrupt status "Packet moved to RX FIFO"
        ftgmac100: Fix interrupt status "Packet transmitted on ethernet"
        ftgmac100: Fix registers that can be read
        aspeed/sdhci: Fix reset sequence
        aspeed/smc: Fix max_slaves of the legacy SMC device
        aspeed/smc: Fix MemoryRegionOps definition
        hw/arm/aspeed: Add board model for Supermicro X11 BMC
        aspeed/scu: Fix valid access size on AST2400
        m25p80: Add support for n25q512ax3
        m25p80: Return the JEDEC ID twice for mx25l25635e
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      3dd23a4f
    • Thomas Huth's avatar
      gitlab-ci.yml: Set artifacts expiration time · 0a796d63
      Thomas Huth authored
      
      The default expiration time for artifacts seems to be very high (30 days?).
      Since we only need the artifacts to pass the binaries from one stage to
      the next one, we can decrease the expiration time to avoid to spam the
      file server too much. Two days should be enough in case someone still wants
      to have a look after the pipeline finished.
      
      Message-Id: <20200806161546.15325-1-thuth@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      0a796d63
    • Thomas Huth's avatar
      gitlab-ci.yml: Run check-qtest and check-unit at the end of the fuzzer job · 5ab04d5e
      Thomas Huth authored
      
      The fuzzer job finishes quite early, so we can run the unit tests and
      qtests with -fsanitize=address here without extending the total test time.
      
      Message-Id: <20200831153228.229185-1-thuth@redhat.com>
      Reviewed-by: default avatarAlexander Bulekov <alxndr@bu.edu>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      5ab04d5e
    • Thomas Huth's avatar
      gitlab/travis: Rework the disabled features tests · a7524adb
      Thomas Huth authored
      
      Let's focus on the gitlab-ci when testing the compilation with disabled
      features, thus add more switches there (and while we're at it, sort them
      also alphabetically). This should cover the test from the Travis CI now,
      too, so that we can remove the now-redundant job from the Travis CI.
      
      Message-Id: <20200806155306.13717-1-thuth@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      a7524adb
    • Markus Armbruster's avatar
      libqtest: Rename qmp_assert_error_class() to qmp_expect_error_and_unref() · 3bc1b8ee
      Markus Armbruster authored
      
      qmp_assert_error_class() does more than just assert: it also unrefs
      the @rsp argument.  Rename to qmp_expect_error_and_unref() to reduce
      confusion.
      
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20200902115733.1229537-1-armbru@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      3bc1b8ee
    • Philippe Mathieu-Daudé's avatar
      tests/qtest/ipmi-kcs: Fix assert side-effect · 978382b4
      Philippe Mathieu-Daudé authored
      
      Fix assert side-effect reported by Coverity:
      
        /qemu/tests/qtest/ipmi-kcs-test.c: 84 in kcs_wait_obf()
        83         while (IPMI_KCS_CMDREG_GET_OBF() == 0) {
        >>>     CID 1432368:  Incorrect expression  (ASSERT_SIDE_EFFECT)
        >>>     Argument "--count" of g_assert() has a side effect.  The containing function might work differently in a non-debug build.
        84             g_assert(--count != 0);
      
      Reported-by: Coverity (CID 1432368)
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-Id: <20200902080801.160652-2-philmd@redhat.com>
      Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      978382b4
    • Philippe Mathieu-Daudé's avatar
      tests/qtest/tpm: Declare input buffers const and static · ed943cc9
      Philippe Mathieu-Daudé authored
      
      The functions using these arrays expect a "const unsigned char *"
      argument, it is safe to declare these as 'static const'.
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-Id: <20200902080909.161034-1-philmd@redhat.com>
      Reviewed-by: default avatarDarren Kenny <darren.kenny@oracle.com>
      Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      ed943cc9
    • Philippe Mathieu-Daudé's avatar
      tests/qtest/ahci: Improve error handling (NEGATIVE_RETURNS) · df1a312f
      Philippe Mathieu-Daudé authored
      
      Fix an error handling issue reported by Coverity:
      
        /qemu/tests/qtest/ahci-test.c: 1452 in prepare_iso()
        1444         int fd = mkstemp(cdrom_path);
        >>>     CID 1432375:  Error handling issues  (NEGATIVE_RETURNS)
        >>>     "fd" is passed to a parameter that cannot be negative.
        1452         ret = write(fd, patt, size);
      
      Reported-by: Coverity (CID 1432375)
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-Id: <20200902080552.159806-1-philmd@redhat.com>
      Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      df1a312f
    • Thomas Huth's avatar
      hw/m68k: QOMify the mcf5206 system integration module · 0bc6746e
      Thomas Huth authored
      
      The mcf5206 system integration module should be a proper device.
      Let's finally QOMify it.
      
      Signed-off-by: default avatarThomas Huth <huth@tuxfamily.org>
      Message-Id: <20200819065201.4045-1-huth@tuxfamily.org>
      0bc6746e
    • Thomas Huth's avatar
      configure: Add system = 'linux' for meson when cross-compiling · 853b4baf
      Thomas Huth authored
      
      Meson needs the "system = xyz" line when cross-compiling. We are already
      adding a "system = 'windows'" for the MinGW cross-compilation case here,
      so let's add a "system = 'linux'" now for Linux hosts, too.
      
      Message-Id: <20200823111757.72002-2-thuth@redhat.com>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      853b4baf
    • Gerd Hoffmann's avatar
      meson: fix keymaps without qemu-keymap · 09db9b9d
      Gerd Hoffmann authored
      
      In case the qemu-keymap tool generating them is neither installed on the
      system nor built from sources (due to xkbcommon not being available)
      qemu will not find the keymaps when started directly from the build
      tree,
      
      This happens because commit ddcf607f ("meson: drop keymaps symlink")
      removed the symlink to the source tree, and the special handling for
      install doesn't help in case we do not install qemu.
      
      Lets fix that by simply copying over the file from the source tree as
      fallback.
      
      Reported-by: default avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Message-Id: <20200827102617.14448-1-kraxel@redhat.com>
      [thuth: Rebased, changed "config_host['qemu_datadir']" to "qemu_datadir",
              added Gerd's UNLINK fix to configure script]
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      09db9b9d
    • Thomas Huth's avatar
      cirrus.yml: Split FreeBSD job into two parts · 45f7b7b9
      Thomas Huth authored
      
      The FreeBSD jobs currently hit the 1h time limit in the Cirrus-CI.
      We have to split the build targets here to make sure that the job
      finishes in time again. According to the Cirrus-CI docs and some
      tests that I did, it also seems like the total amount of CPUs that
      can be used for FreeBSD jobs is limited to 8, so each job now only
      gets 4 CPUs. That increases the compilation time of each job a little
      bit, but it still seems to be better to run two jobs with 4 CPUs each
      in parallel than to run two jobs with 8 CPUs sequentially.
      
      Message-Id: <20200831154405.229706-1-thuth@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      45f7b7b9
    • Thomas Huth's avatar
      cirrus.yml: Update the macOS jobs to Catalina · 7498e6af
      Thomas Huth authored
      
      When looking at the CI jobs on cirrus-ci.com, it seems like the mojave-based
      images have been decomissioned a while ago already, since apparently all our
      jobs get automatically upgraded to catalina. So let's update our YML script
      accordingly to avoid confusion.
      
      Reviewed-by: default avatarEd Maste <emaste@freebsd.org>
      Message-Id: <20200728074405.13118-5-thuth@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      7498e6af
    • Thomas Huth's avatar
      cirrus.yml: Compile macOS with -Werror · d76efeda
      Thomas Huth authored
      
      Compiler warnings currently go unnoticed in our macOS builds, since -Werror
      is only enabled for Linux and MinGW builds by default. So let's enable them
      here now, too.
      Unfortunately, the sasl header is marked as deprecated in the macOS headers
      and thus generates a lot of deprecation warnings. Thus we have to also use
      -Wno-error=deprecated-declarations to be able to compile the code here.
      
      Message-Id: <20200728074405.13118-4-thuth@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      d76efeda
    • Thomas Huth's avatar
      cirrus.yml: Compile FreeBSD with -Werror · 91bedaae
      Thomas Huth authored
      
      Compiler warnings currently go unnoticed in our FreeBSD builds, since
      -Werror is only enabled for Linux and MinGW builds by default. So let's
      enable them here now, too.
      
      Reviewed-by: default avatarEd Maste <emaste@freebsd.org>
      Message-Id: <20200728074405.13118-3-thuth@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      91bedaae
Loading