Skip to content
Snippets Groups Projects
  1. Sep 07, 2023
  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
    • Peter Maydell's avatar
      target/arm: Do all "ARM_FEATURE_X implies Y" checks in post_init · b8f7959f
      Peter Maydell authored
      
      Where architecturally one ARM_FEATURE_X flag implies another
      ARM_FEATURE_Y, we allow the CPU init function to only set X, and then
      set Y for it.  Currently we do this in two places -- we set a few
      flags in arm_cpu_post_init() because we need them to decide which
      properties to create on the CPU object, and then we do the rest in
      arm_cpu_realizefn().  However, this is fragile, because it's easy to
      add a new property and not notice that this means that an X-implies-Y
      check now has to move from realize to post-init.
      
      As a specific example, the pmsav7-dregion property is conditional
      on ARM_FEATURE_PMSA && ARM_FEATURE_V7, which means it won't appear
      on the Cortex-M33 and -M55, because they set ARM_FEATURE_V8 and
      rely on V8-implies-V7, which doesn't happen until the realizefn.
      
      Move all of these X-implies-Y checks into a new function, which
      we call at the top of arm_cpu_post_init(), so the feature bits
      are available at that point.
      
      This does now give us the reverse issue, that if there's a feature
      bit which is enabled or disabled by the setting of a property then
      then X-implies-Y features that are dependent on that property need to
      be in realize, not in this new function.  But the only one of those
      is the "EL3 implies VBAR" which is already in the right place, so
      putting things this way round seems better to me.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20230724174335.2150499-2-peter.maydell@linaro.org
      b8f7959f
    • Peter Maydell's avatar
      rtc: Use time_t for passing and returning time offsets · 5ec008a2
      Peter Maydell authored
      
      The functions qemu_get_timedate() and qemu_timedate_diff() take
      and return a time offset as an integer. Coverity points out that
      means that when an RTC device implementation holds an offset
      as a time_t, as the m48t59 does, the time_t will get truncated.
      (CID 1507157, 1517772).
      
      The functions work with time_t internally, so make them use that type
      in their APIs.
      
      Note that this won't help any Y2038 issues where either the device
      model itself is keeping the offset in a 32-bit integer, or where the
      hardware under emulation has Y2038 or other rollover problems.  If we
      missed any cases of the former then hopefully Coverity will warn us
      about them since after this patch we'd be truncating a time_t in
      assignments from qemu_timedate_diff().)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      5ec008a2
    • Peter Maydell's avatar
      hw/rtc/aspeed_rtc: Use 64-bit offset for holding time_t difference · c0a63857
      Peter Maydell authored
      
      In the aspeed_rtc device we store a difference between two time_t
      values in an 'int'. This is not really correct when time_t could
      be 64 bits. Enlarge the field to 'int64_t'.
      
      This is a migration compatibility break for the aspeed boards.
      While we are changing the vmstate, remove the accidental
      duplicate of the offset field.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarCédric Le Goater <clg@kaod.org>
      c0a63857
Loading