Skip to content
Snippets Groups Projects
  1. Sep 07, 2023
    • Paolo Bonzini's avatar
      Python: Drop support for Python 3.7 · ca056f44
      Paolo Bonzini authored
      
      Debian 10 is not anymore a supported distro, since Debian 12 was
      released on June 10, 2023.  Our supported build platforms as of today
      all support at least 3.8 (and all of them except for Ubuntu 20.04
      support 3.9):
      
      openSUSE Leap 15.5: 3.6.15 (3.11.2)
      CentOS Stream 8:    3.6.8  (3.8.13, 3.9.16, 3.11.4)
      CentOS Stream 9:    3.9.17 (3.11.4)
      Fedora 37:          3.11.4
      Fedora 38:          3.11.4
      Debian 11:          3.9.2
      Debian 12:          3.11.2
      Alpine 3.14, 3.15:  3.9.16
      Alpine 3.16, 3.17:  3.10.10
      Ubuntu 20.04 LTS:   3.8.10
      Ubuntu 22.04 LTS:   3.10.12
      NetBSD 9.3:         3.9.13*
      FreeBSD 12.4:       3.9.16
      FreeBSD 13.1:       3.9.18
      OpenBSD 7.2:        3.9.17
      
      Note: NetBSD does not appear to have a default meta-package, but offers
      several options, the lowest of which is 3.7.15. However, "python39"
      appears to be a pre-requisite to one of the other packages we request
      in tests/vm/netbsd.
      
      Since it is safe under our supported platform policy, bump our
      minimum supported version of Python to 3.8.  The two most interesting
      features to have by default include:
      
      - the importlib.metadata module, whose lack is responsible for over 100
        lines of code in mkvenv.py
      
      - improvements to asyncio, for example asyncio.CancelledError
        inherits from BaseException rather than Exception
      
      In addition, code can now use the assignment operator ':='
      
      Because mypy now learns about importlib.metadata, a small change to
      mkvenv.py is needed to pass type checking.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      ca056f44
    • Paolo Bonzini's avatar
      configure: remove dead code · a5e9fbf1
      Paolo Bonzini authored
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      a5e9fbf1
    • Paolo Bonzini's avatar
      meson: list leftover CONFIG_* symbols · 875be287
      Paolo Bonzini authored
      
      There are no config-host.mak symbols anymore that are needed in
      config-host.h; the only symbols that are included in config_host_data via
      the foreach loop are:
      
      - CONFIG_DEFAULT_TARGETS, which is not used by C code.
      
      - CONFIG_TCG and CONFIG_TCG_INTERPRETER, which are not part of config-host.mak
      
      So, list these two symbols explicitly.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      875be287
    • Paolo Bonzini's avatar
      configure, meson: remove target OS symbols from config-host.mak · 1f2146f7
      Paolo Bonzini authored
      
      Stop applying config-host.mak to the sourcesets, since it does not
      have any more CONFIG_* symbols coming from the command line.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      1f2146f7
    • Paolo Bonzini's avatar
      configure, meson: remove CONFIG_SOLARIS from config-host.mak · 73258b38
      Paolo Bonzini authored
      
      CONFIG_SOLARIS is only used to pick tap implementations.  But the
      target OS is invariant and does not depend on the configuration, so move
      away from config_host and just use unconditional rules in softmmu_ss.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      73258b38
    • Paolo Bonzini's avatar
      configure, meson: move --enable-plugins to meson · 2c13c574
      Paolo Bonzini authored
      
      While the option still needs to be parsed in the configure script
      (it's needed by tests/tcg, and also to decide about recursing
      into contrib/plugins), passing it to Meson can be done with -D
      instead of using config-host.mak.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      2c13c574
    • Paolo Bonzini's avatar
      configure: unify recursion into sub-Makefiles · 2a5919ab
      Paolo Bonzini authored
      
      Treat contrib/plugins the same as the firmware.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      2a5919ab
    • Paolo Bonzini's avatar
      contrib/plugins: use an independent makefile · bafe78ad
      Paolo Bonzini authored
      
      The initial reason to write this patch was to remove the last use of
      CONFIG_DEBUG_TCG from the makefiles; the flags to use to build TCG
      plugins are unrelated to --enable-debug-tcg, and instead they should
      be the same as those used to build emulators (the plugins are not build
      via meson for demonstration reasons only).
      
      However, since contrib/plugins/Makefile is also the last case of doing
      a compilation job using config-host.mak, go a step further and make it
      use a completely separate configuration file, removing all references
      to compilers from the toplevel config-host.mak.  Clean up references to
      empty variables, and use .SECONDARY so that intermediate object files
      are not deleted.
      
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      bafe78ad
    • Paolo Bonzini's avatar
    • Paolo Bonzini's avatar
      configure: remove boolean variables for targets · 80100e26
      Paolo Bonzini authored
      
      Just use $targetos always.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      80100e26
    • Paolo Bonzini's avatar
      meson: compile bundled device trees · 6e0dc9d2
      Paolo Bonzini authored
      
      If dtc is available, compile the .dts files in the pc-bios directory
      instead of using the precompiled binaries.
      
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      6e0dc9d2
    • Paolo Bonzini's avatar
      configure: create native file with contents of $host_cc · 3c7ee49b
      Paolo Bonzini authored
      
      The argument of --host-cc is not obeyed when cross compiling.  To avoid
      this issue, place it in a configuration file and pass it to meson
      with --native-file.
      
      While at it, clarify that --host-cc is not obeyed anyway when _not_
      cross compiling, because cc="$host_cc" is placed before --host-cc is
      processed.
      
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      3c7ee49b
    • Paolo Bonzini's avatar
      configure: remove HOST_CC · b3403ed0
      Paolo Bonzini authored
      
      $(HOST_CC) is only used to invoke the preprocessor, and $(CC) can be
      used instead now that there is a Tricore C compiler.  Remove the variable
      from config-host.mak.
      
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      b3403ed0
    • Paolo Bonzini's avatar
      meson: update unsupported host/CPU messages · a24f15d2
      Paolo Bonzini authored
      
      Unsupported CPU and OSes are not really going away, but the
      project simply does not guarantee that they work.  Rephrase
      the messages accordingly.  While at it, move the warning for
      TCI performance at the end where it is more visible.
      
      Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      a24f15d2
    • Paolo Bonzini's avatar
      meson: do not unnecessarily use cmake for dependencies · 2564dcbf
      Paolo Bonzini authored
      
      Both gvnc and sysprof-capture come with pkg-config files, so specify
      the method to find them.
      
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      2564dcbf
    • Paolo Bonzini's avatar
      contrib/plugins: add Darwin support · f6feb021
      Paolo Bonzini authored
      
      Under Darwin, using -shared makes it impossible to have undefined symbols
      and -bundle has to be used instead; so detect the OS and use
      different options.
      
      Based-on: <20230907101811.469236-1-pbonzini@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      f6feb021
    • Philippe Mathieu-Daudé's avatar
      contrib/plugins/lockstep: Fix string format · 3045019f
      Philippe Mathieu-Daudé authored
      
      This fixes on Darwin:
      
        plugins/lockstep.c:138:25: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                us->pc, them->pc, g_slist_length(divergence_log),
                                ^~~~~~
        plugins/lockstep.c:138:33: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                us->pc, them->pc, g_slist_length(divergence_log),
                                        ^~~~~~~~
        plugins/lockstep.c:148:25: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                us->pc, us->insn_count, them->pc, them->insn_count);
                                ^~~~~~
        plugins/lockstep.c:148:49: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                us->pc, us->insn_count, them->pc, them->insn_count);
                                                        ^~~~~~~~
        plugins/lockstep.c:156:36: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                           prev->block->pc, prev->block->insns,
                                           ^~~~~~~~~~~~~~~
        plugins/lockstep.c:156:53: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                           prev->block->pc, prev->block->insns,
                                                            ^~~~~~~~~~~~~~~~~~
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230907105004.88600-5-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      3045019f
    • Philippe Mathieu-Daudé's avatar
      contrib/plugins/howvec: Fix string format · 9b60d6a1
      Philippe Mathieu-Daudé authored
      
      This fixes on Darwin:
      
        plugins/howvec.c:186:40: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                               class->count);
                                               ^~~~~~~~~~~~
        plugins/howvec.c:213:36: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                           rec->count,
                                           ^~~~~~~~~~
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230907105004.88600-4-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9b60d6a1
    • Philippe Mathieu-Daudé's avatar
      contrib/plugins/drcov: Fix string format · 3df17650
      Philippe Mathieu-Daudé authored
      
      This fixes on Darwin:
      
        plugins/drcov.c:52:13: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                    start_code, end_code, entry, path);
                    ^~~~~~~~~~
        plugins/drcov.c:52:25: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                    start_code, end_code, entry, path);
                                ^~~~~~~~
        plugins/drcov.c:52:35: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                    start_code, end_code, entry, path);
                                          ^~~~~
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230907105004.88600-3-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      3df17650
    • Philippe Mathieu-Daudé's avatar
      contrib/plugins/cache: Fix string format · 86e49b2e
      Philippe Mathieu-Daudé authored
      
      This fixes on Darwin:
      
        plugins/cache.c:550:28: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                   l1_daccess,
                                   ^~~~~~~~~~
        plugins/cache.c:551:28: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                   l1_dmisses,
                                   ^~~~~~~~~~
        plugins/cache.c:553:28: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                   l1_iaccess,
                                   ^~~~~~~~~~
        plugins/cache.c:554:28: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                   l1_imisses,
                                   ^~~~~~~~~~
        plugins/cache.c:560:32: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                       l2_access,
                                       ^~~~~~~~~
        plugins/cache.c:561:32: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                       l2_misses,
                                       ^~~~~~~~~
        plugins/cache.c:665:52: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                g_string_append_printf(rep, ", %ld, %s\n", insn->l1_dmisses,
                                               ~~~         ^~~~~~~~~~~~~~~~
                                               %llu
        plugins/cache.c:678:52: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                g_string_append_printf(rep, ", %ld, %s\n", insn->l1_imisses,
                                               ~~~         ^~~~~~~~~~~~~~~~
                                               %llu
        plugins/cache.c:695:52: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                g_string_append_printf(rep, ", %ld, %s\n", insn->l2_misses,
                                               ~~~         ^~~~~~~~~~~~~~~
                                               %llu
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230907105004.88600-2-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      86e49b2e
    • Paolo Bonzini's avatar
      contrib/plugins: remove -soname argument · 07c4523c
      Paolo Bonzini authored
      
      -soname is not needed for runtime-loaded modules.  For example, Meson says:
      
                  if not isinstance(target, build.SharedModule) or target.force_soname:
                      # Add -Wl,-soname arguments on Linux, -install_name on OS X
                      commands += linker.get_soname_args(
                          self.environment, target.prefix, target.name, target.suffix,
                          target.soversion, target.darwin_versions)
      
      (force_soname is set is shared modules are linked into a build target, which is not
      the case here.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      07c4523c
  2. Sep 01, 2023
  3. Aug 31, 2023
    • Stefan Hajnoczi's avatar
      Merge tag 'quick-fix-pull-request' of https://gitlab.com/bsdimp/qemu into staging · 17780edd
      Stefan Hajnoczi authored
      Pull request: fix ci by fixing clang-user
      
      # -----BEGIN PGP SIGNATURE-----
      # Comment: GPGTools - https://gpgtools.org
      #
      # iQIzBAABCgAdFiEEIDX4lLAKo898zeG3bBzRKH2wEQAFAmTvYpcACgkQbBzRKH2w
      # EQCKvhAA3nfvm+UMoRbOjFGuOOZKy+HR+nk40rxHa8CzOabbJnx4EtdBZTnNJ+f5
      # WxLvEIzQw6iLYoqr6Rkcn0MkfYryesDScig7tQW0A87DtivXbDyrRbcmAQuCrcSe
      # EpEqjBOueiC9xe1U9hzdpNyBkuXQWFUNGKX6swR5vpOEb1hHKzFMY+60vEgcjcjQ
      # /y7cQcwRJeMNyBEwAM4HSgcVIKxB8ZmIQpIbsWJPAJhEZZE6SvTiKhM0PlZvrwnv
      # dlEV8F68f3cBka0QmX5JJNJQdXn+2gb2Ix06dm8z7BWtiZoH/rcJ0FfVjMk7bkcC
      # 2e0J0jI9JTf1MKNGHbO8V2YoZw+jCB9nr6N8HEymgla7bK6QPD6LIdTs0i6PUEB8
      # PUf902NrOS+kbWTGsb9GINegklk3pJ0jnFZagqfCUxARQ2qrqmA6q5vg9d0FjPVl
      # vJ13weKkSHW126/4Wr23EhUFIoYtiuMjgz/Bjd5TvzhvnVGJiPJaY9sGpgZZ3PJJ
      # EPCRms5MRut/NE0znKQ9ozAz1FMdVd2XnXeClWJd2NUmGc7ZbBGMcSvUYdC9KLIK
      # oSQRBTUDgGIdHnB+g367vKs98ir+03gOcpQk9z0fy25wCymmp/Uco8jsm6hCgSGn
      # x7b9R6/+92xd/IZFZm5N3/llu6JHYPEMhdg8evNp9VTFPoi9PYc=
      # =jG8p
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Wed 30 Aug 2023 11:39:03 EDT
      # gpg:                using RSA key 2035F894B00AA3CF7CCDE1B76C1CD1287DB01100
      # gpg: Good signature from "Warner Losh <wlosh@netflix.com>" [unknown]
      # gpg:                 aka "Warner Losh <imp@bsdimp.com>" [unknown]
      # gpg:                 aka "Warner Losh <imp@freebsd.org>" [unknown]
      # gpg:                 aka "Warner Losh <imp@village.org>" [unknown]
      # gpg:                 aka "Warner Losh <wlosh@bsdimp.com>" [unknown]
      # 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: 2035 F894 B00A A3CF 7CCD  E1B7 6C1C D128 7DB0 1100
      
      * tag 'quick-fix-pull-request' of https://gitlab.com/bsdimp/qemu
      
      :
        bsd-user: Move PRAGMA_DISABLE_PACKED_WARNING etc to qemu.h
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      17780edd
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-target-arm-20230831' of... · c4e5f9a2
      Stefan Hajnoczi authored
      Merge tag 'pull-target-arm-20230831' of https://git.linaro.org/people/pmaydell/qemu-arm into staging
      
      target-arm queue:
       * Some of the preliminary patches for Cortex-A710 support
       * i.MX7 and i.MX6UL refactoring
       * Implement SRC device for i.MX7
       * Catch illegal-exception-return from EL3 with bad NSE/NS
       * Use 64-bit offsets for holding time_t differences in RTC devices
       * Model correct number of MPU regions for an505, an521, an524 boards
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmTwbukZHHBldGVyLm1h
      # eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3ihBD/wK8Iz0KpTAwZBDAodnSZrh
      # tQnJAvYFp8CxA4O8sZ9IeWsZh90gzsTCZi0NqUTTzvWCJfxkB7qTPdlJT5IzVxou
      # oEUk2aogSJhRA3XRJzqArXsPlnZGSYDbtwKx4VtfCvOCCH08Y7nhnFaRj1oFnR4Q
      # 0PE/8YtGXTBxLHrO8U3tomg7zElzOUP8ZVZtb30BOyw1jtfSD03IZR8dzpA43u1E
      # Hh418WvVekmwFoFNh8yUeHzbyXMZufzvbJPuDGJ8pPWwIpvSG6chOnKF8jZll+Ur
      # DqOsDkGlQgcBR2QwYfSPClrEkX8yahJ95PBfM6giG+DQC7OiElqXqTiUGZcpgUVo
      # uSUbzS4YPsxCnyVV6SBXV+f/8hdXBxOSHTgl7OAFa8X9OwWwspxHJ/v2o/2ibnUT
      # hTTkFp/w1nQwVEN8xf1DOUpm/J2Wr8UeH4f776daSrfKAol2BKbHb8dOgGLQCwqb
      # G+iDcE4bkzRqly6f+uVk8xSEZDd9P1NYoxKV+gNlV1dTspdHVpTC+rXMa8dRw5hI
      # 4KgaAslj++Xa229xkjORXCJ1cICRIebYg7+SjvTtGBYsFV7plsCcYb/R9yLmhVCf
      # fKHKKaYe9sQJ82apOIkTc+nnW8BQQx6XUmU/A//iZ8JGLk6DpJcZ8f1m/2rVZTsl
      # 9+lsmpBf4w+uR4o+Womhfw==
      # =MFh3
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Thu 31 Aug 2023 06:43:53 EDT
      # gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
      # gpg:                issuer "peter.maydell@linaro.org"
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [full]
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [full]
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [full]
      # gpg:                 aka "Peter Maydell <peter@archaic.org.uk>" [unknown]
      # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
      
      * tag 'pull-target-arm-20230831' of https://git.linaro.org/people/pmaydell/qemu-arm
      
      : (24 commits)
        hw/arm: Set number of MPU regions correctly for an505, an521, an524
        hw/arm/armv7m: Add mpu-ns-regions and mpu-s-regions properties
        target/arm: Do all "ARM_FEATURE_X implies Y" checks in post_init
        rtc: Use time_t for passing and returning time offsets
        hw/rtc/aspeed_rtc: Use 64-bit offset for holding time_t difference
        hw/rtc/twl92230: Use int64_t for sec_offset and alm_sec
        hw/rtc/m48t59: Use 64-bit arithmetic in set_alarm()
        target/arm: Catch illegal-exception-return from EL3 with bad NSE/NS
        Add i.MX7 SRC device implementation
        Add i.MX7 missing TZ devices and memory regions
        Refactor i.MX7 processor code
        Add i.MX6UL missing devices.
        Refactor i.MX6UL processor code
        Remove i.MX7 IOMUX GPR device from i.MX6UL
        target/arm: properly document FEAT_CRC32
        target/arm: Implement FEAT_HPDS2 as a no-op
        target/arm: Suppress FEAT_TRBE (Trace Buffer Extension)
        target/arm: Apply access checks to neoverse-v1 special registers
        target/arm: Apply access checks to neoverse-n1 special registers
        target/arm: Introduce make_ccsidr64
        ...
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      c4e5f9a2
    • Stefan Hajnoczi's avatar
      Merge tag 'xen-virtio-2-tag' of https://gitlab.com/sstabellini/qemu into staging · 2b0612de
      Stefan Hajnoczi authored
      xen-virtio-2-tag
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQIzBAABCgAdFiEE0E4zq6UfZ7oH0wrqiU+PSHDhrpAFAmTv65wACgkQiU+PSHDh
      # rpC6vg/+II8XIOTccYdrUI61irTDznlY2gWzr4oYDmW7zThO1y7wfqBTVZvOhGnC
      # paPs7Xe2mJMHSci8Nx+S/jpOBGmGZ7vWxkYsLltlmEIjsdTpD1ZlGmCITNR80KG6
      # edmARZ06MU21zRETXbMBmyglak+ph6BWHEOZWtokfZbGXl7oQ8kt1OvT6azuRvPF
      # r6woYIg4eADE2ykReGAuw4FOrRjtKSKjAOhGrEf2jT5yemaeYYv2fPeyGoq46jAw
      # +Ktn9luwkY+hgMSRm2CPrZ+nJPfDqQgfypClu5CpF0faIIvvogWW0lkJmeMKLYdM
      # yQgyUAmAFQMTjwo2yWQi3BJj+550gIM3i3By7AjX5Qs2+yILec7pAvD/d8XQh2KC
      # 47M/u8DMC+Cel/OHNW7eoO6jh4z0Yu6zgaa9rEusVAxZuDJpxc6kcopbrikXCgBr
      # yIaO8h8ryKJISFupu4Gi/Vs0WuDDL3z1q3kdhfqkBQ9wwyK9/McZM8ue9KObH1al
      # M/v5hsnnG+m/5ANH9BYpaCgjG51FGtzzgwlZGLVkCGEUMeNZ+mkROuu0krKfMeJA
      # qGQOOesGyOw7tjYvBvHG2JiFQhmXqExPydkhNw+Gi1lH1C1F08jJRXM45/YRhOm/
      # KlMd+dVK5BG1Hk4vhDmppMJn5iEb0UVHCaV2bXQMBVOXIRqHJ2A=
      # =4KZ7
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Wed 30 Aug 2023 21:23:40 EDT
      # gpg:                using RSA key D04E33ABA51F67BA07D30AEA894F8F4870E1AE90
      # gpg: Good signature from "Stefano Stabellini <sstabellini@kernel.org>" [unknown]
      # gpg:                 aka "Stefano Stabellini <stefano.stabellini@eu.citrix.com>" [full]
      # Primary key fingerprint: D04E 33AB A51F 67BA 07D3  0AEA 894F 8F48 70E1 AE90
      
      * tag 'xen-virtio-2-tag' of https://gitlab.com/sstabellini/qemu
      
      :
        xen_arm: Initialize RAM and add hi/low memory regions
        xen_arm: Create virtio-mmio devices during initialization
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      2b0612de
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-maintainer-ominbus-300823-1' of https://gitlab.com/stsquad/qemu into staging · db1a88a5
      Stefan Hajnoczi authored
      testing and gdbstub updates:
      
        - enable ccache for gitlab builds
        - fix various test info leakages for non V=1
        - update style to allow loop vars
        - bump FreeBSD to v13.2
        - clean-up gdbstub tests
        - various gdbstub doc and refactorings
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmTvS2AACgkQ+9DbCVqe
      # KkRiRwgAhsinp2/KgnvkD0n6deQy/JWg9MfYIvvZacKEakIfQvCDoJ752AUZzUTw
      # ggQ+W2KuaoHTzwG+AOMLdzulkmspQ8xeFuD2aIpFjRMnZrO9jN2T4L0vcGLAd95c
      # 9QLqPeH8xRdhuK28+ILuYzKOKBcefQ44ufMLpxrS2iNITEsSg/Tw3MU91hbct49g
      # 3OR4bD1ueG5Ib/lXp8V/4GnRmfLdnp3k0i/6OHriq7Mpz4Lia67WblVsPEple66U
      # n7JCo2sI5/m+6p2tvKs7rH60xc8s1Za3kbK4ggEq3LVRfzVOordZqO+1ep6wklTY
      # 6nP9Ry9nZG3gqCmcNXfhoofm0vHaZA==
      # =Km9m
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Wed 30 Aug 2023 10:00:00 EDT
      # gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
      # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [unknown]
      # 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: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44
      
      * tag 'pull-maintainer-ominbus-300823-1' of https://gitlab.com/stsquad/qemu
      
      :
        gdbstub: move comment for gdb_register_coprocessor
        gdbstub: replace global gdb_has_xml with a function
        gdbstub: refactor get_feature_xml
        gdbstub: remove unused user_ctx field
        gdbstub: fixes cases where wrong threads were reported to GDB on SIGINT
        tests/tcg: clean-up gdb confirm/pagination settings
        tests: remove test-gdbstub.py
        .gitlab-ci.d/cirrus.yml: Update FreeBSD to v13.2
        docs/style: permit inline loop variables
        tests/tcg: remove quoting for info output
        tests/docker: cleanup non-verbose output
        gitlab: enable ccache for many build jobs
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      db1a88a5
    • Peter Maydell's avatar
      hw/arm: Set number of MPU regions correctly for an505, an521, an524 · e73b8bb8
      Peter Maydell authored
      The IoTKit, SSE200 and SSE300 all default to 8 MPU regions.  The
      MPS2/MPS3 FPGA images don't override these except in the case of
      AN547, which uses 16 MPU regions.
      
      Define properties on the ARMSSE object for the MPU regions (using the
      same names as the documented RTL configuration settings, and
      following the pattern we already have for this device of using
      all-caps names as the RTL does), and set them in the board code.
      
      We don't actually need to override the default except on AN547,
      but it's simpler code to have the board code set them always
      rather than tracking which board subtypes want to set them to
      a non-default value separately from what that value is.
      
      Tho overall effect is that for mps2-an505, mps2-an521 and mps3-an524
      we now correctly use 8 MPU regions, while mps3-an547 stays at its
      current 16 regions.
      
      It's possible some guest code wrongly depended on the previous
      incorrectly modeled number of memory regions. (Such guest code
      should ideally check the number of regions via the MPU_TYPE
      register.) The old behaviour can be obtained with additional
      -global arguments to QEMU:
      
      For mps2-an521 and mps2-an524:
       -global sse-200.CPU0_MPU_NS=16 -global sse-200.CPU0_MPU_S=16 -global sse-200.CPU1_MPU_NS=16 -global sse-200.CPU1_MPU_S=16
      
      For mps2-an505:
       -global sse-200.CPU0_MPU_NS=16 -global sse-200.CPU0_MPU_S=16
      
      NB that the way the implementation allows this use of -global
      is slightly fragile: if the board code explicitly sets the
      properties on the sse-200 object, this overrides the -global
      command line option. So we rely on:
       - the boards that need fixing all happen to use the SSE defaults
       - we can write the board code to only set the property if it
         is different from the default, rather than having all boards
         explicitly set the property
       - the board that does need to use a non-default value happens
         to need to set it to the same value (16) we previously used
      This works, but there are some kinds of refactoring of the
      mps2-tz.c code that would break the support for -global here.
      
      Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1772
      
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-id: 20230724174335.2150499-4-peter.maydell@linaro.org
      e73b8bb8
    • Peter Maydell's avatar
      hw/arm/armv7m: Add mpu-ns-regions and mpu-s-regions properties · cb0929bb
      Peter Maydell authored
      
      M-profile CPUs generally allow configuration of the number of MPU
      regions that they have.  We don't currently model this, so our
      implementations of some of the board models provide CPUs with the
      wrong number of regions.  RTOSes like Zephyr that hardcode the
      expected number of regions may therefore not run on the model if they
      are set up to run on real hardware.
      
      Add properties mpu-ns-regions and mpu-s-regions to the ARMV7M object,
      matching the ability of hardware to configure the number of Secure
      and NonSecure regions separately.  Our actual CPU implementation
      doesn't currently support that, and it happens that none of the MPS
      boards we model set the number of regions differently for Secure vs
      NonSecure, so we provide an interface to the boards and SoCs that
      won't need to change if we ever do add that functionality in future,
      but make it an error to configure the two properties to different
      values.
      
      (The property name on the CPU is the somewhat misnamed-for-M-profile
      "pmsav7-dregion", so we don't follow that naming convention for
      the properties here. The TRM doesn't say what the CPU configuration
      variable names are, so we pick something, and follow the lowercase
      convention we already have for properties here.)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-id: 20230724174335.2150499-3-peter.maydell@linaro.org
      cb0929bb
Loading