Skip to content
Snippets Groups Projects
  1. Aug 21, 2020
  2. Aug 19, 2020
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2020-08-11' into staging · 1d806cef
      Peter Maydell authored
      
      Block patches for 5.1.0-rc4:
      - Fix abort when running a backup job on an image whose size is not
        aligned to the backup job's cluster size
      
      # gpg: Signature made Tue 11 Aug 2020 10:29:27 BST
      # gpg:                using RSA key 91BEB60A30DB3E8857D11829F407DB0061D5CF40
      # gpg:                issuer "mreitz@redhat.com"
      # gpg: Good signature from "Max Reitz <mreitz@redhat.com>" [full]
      # Primary key fingerprint: 91BE B60A 30DB 3E88 57D1  1829 F407 DB00 61D5 CF40
      
      * remotes/maxreitz/tags/pull-block-2020-08-11:
        iotests: add test for unaligned granularity bitmap backup
        block/block-copy: always align copied region to cluster size
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      1d806cef
  3. Aug 18, 2020
  4. Aug 11, 2020
  5. Aug 10, 2020
  6. Aug 05, 2020
  7. Aug 04, 2020
  8. Aug 03, 2020
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200803' into staging · 5c1c3e4f
      Peter Maydell authored
      
      target-arm queue:
       * hw/timer/imx_epit: Avoid assertion when CR.SWR is written
       * netduino2, netduinoplus2, microbit: set system_clock_scale so that
         SysTick running on the CPU clock works
       * target/arm: Avoid maybe-uninitialized warning with gcc 4.9
       * target/arm: Fix AddPAC error indication
       * Make AIRCR.SYSRESETREQ actually reset the system for the
         microbit, mps2-*, musca-*, netduino* boards
      
      # gpg: Signature made Mon 03 Aug 2020 20:29:17 BST
      # gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
      # gpg:                issuer "peter.maydell@linaro.org"
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate]
      # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
      
      * remotes/pmaydell/tags/pull-target-arm-20200803:
        hw/timer/imx_epit: Avoid assertion when CR.SWR is written
        hw/arm/nrf51_soc: Set system_clock_scale
        target/arm: Avoid maybe-uninitialized warning with gcc 4.9
        target/arm: Fix AddPAC error indication
        msf2-soc, stellaris: Don't wire up SYSRESETREQ
        hw/intc/armv7m_nvic: Provide default "reset the system" behaviour for SYSRESETREQ
        include/hw/irq.h: New function qemu_irq_is_connected()
        hw/arm/netduino2, netduinoplus2: Set system_clock_scale
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      5c1c3e4f
    • Peter Maydell's avatar
      hw/timer/imx_epit: Avoid assertion when CR.SWR is written · 13557fd3
      Peter Maydell authored
      The imx_epit device has a software-controllable reset triggered by
      setting the SWR bit in the CR register. An error in commit cc2722ec
      means that we will end up assert()ing if the guest does this, because
      the code in imx_epit_write() starts ptimer transactions, and then
      imx_epit_reset() also starts ptimer transactions, triggering
      "ptimer_transaction_begin: Assertion `!s->in_transaction' failed".
      
      The cleanest way to avoid this double-transaction is to move the
      start-transaction for the CR write handling down below the check of
      the SWR bit.
      
      Fixes: https://bugs.launchpad.net/qemu/+bug/1880424
      
      
      Fixes: cc2722ec
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-id: 20200727154550.3409-1-peter.maydell@linaro.org
      13557fd3
    • Peter Maydell's avatar
      hw/arm/nrf51_soc: Set system_clock_scale · ce4f70e8
      Peter Maydell authored
      
      The nrf51 SoC model wasn't setting the system_clock_scale
      global.which meant that if guest code used the systick timer in "use
      the processor clock" mode it would hang because time never advances.
      
      Set the global to match the documented CPU clock speed for this SoC.
      
      This SoC in fact doesn't have a SysTick timer (which is the only thing
      currently that cares about the system_clock_scale), because it's
      a configurable option in the Cortex-M0. However our Cortex-M0 and
      thus our nrf51 and our micro:bit board do provide a SysTick, so
      we ought to provide a functional one rather than a broken one.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-id: 20200727193458.31250-1-peter.maydell@linaro.org
      ce4f70e8
    • Kaige Li's avatar
      target/arm: Avoid maybe-uninitialized warning with gcc 4.9 · 88a90e3d
      Kaige Li authored
      
      GCC version 4.9.4 isn't clever enough to figure out that all
      execution paths in disas_ldst() that use 'fn' will have initialized
      it first, and so it warns:
      
      /home/LiKaige/qemu/target/arm/translate-a64.c: In function ‘disas_ldst’:
      /home/LiKaige/qemu/target/arm/translate-a64.c:3392:5: error: ‘fn’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
           fn(cpu_reg(s, rt), clean_addr, tcg_rs, get_mem_index(s),
           ^
      /home/LiKaige/qemu/target/arm/translate-a64.c:3318:22: note: ‘fn’ was declared here
           AtomicThreeOpFn *fn;
                            ^
      
      Make it happy by initializing the variable to NULL.
      
      Signed-off-by: default avatarKaige Li <likaige@loongson.cn>
      Message-id: 1596110248-7366-2-git-send-email-likaige@loongson.cn
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      [PMM: Clean up commit message and note which gcc version this was]
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      88a90e3d
    • Richard Henderson's avatar
      target/arm: Fix AddPAC error indication · 8796fe40
      Richard Henderson authored
      
      The definition of top_bit used in this function is one higher
      than that used in the Arm ARM psuedo-code, which put the error
      indication at top_bit - 1 at the wrong place, which meant that
      it wasn't visible to Auth.
      
      Fixing the definition of top_bit requires more changes, because
      its most common use is for the count of bits in top_bit:bot_bit,
      which would then need to be computed as top_bit - bot_bit + 1.
      
      For now, prefer the minimal fix to the error indication alone.
      
      Fixes: 63ff0ca9
      Reported-by: default avatarDerrick McKee <derrick.mckee@gmail.com>
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20200728195706.11087-1-richard.henderson@linaro.org
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      [PMM: added comment about the divergence from the pseudocode]
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      8796fe40
    • Peter Maydell's avatar
      msf2-soc, stellaris: Don't wire up SYSRESETREQ · fc6bb6e6
      Peter Maydell authored
      
      The MSF2 SoC model and the Stellaris board code both wire
      SYSRESETREQ up to a function that just invokes
          qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
      This is now the default action that the NVIC does if the line is
      not connected, so we can delete the handling code.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
      Message-id: 20200728103744.6909-4-peter.maydell@linaro.org
      fc6bb6e6
    • Peter Maydell's avatar
      hw/intc/armv7m_nvic: Provide default "reset the system" behaviour for SYSRESETREQ · 9e60d759
      Peter Maydell authored
      
      The NVIC provides an outbound qemu_irq "SYSRESETREQ" which it signals
      when the guest sets the SYSRESETREQ bit in the AIRCR register.  This
      matches the hardware design (where the CPU has a signal of this name
      and it is up to the SoC to connect that up to an actual reset
      mechanism), but in QEMU it mostly results in duplicated code in SoC
      objects and bugs where SoC model implementors forget to wire up the
      SYSRESETREQ line.
      
      Provide a default behaviour for the case where SYSRESETREQ is not
      actually connected to anything: use qemu_system_reset_request() to
      perform a system reset.  This will allow us to remove the
      implementations of SYSRESETREQ handling from the boards where that's
      exactly what it does, and also fixes the bugs in the board models
      which forgot to wire up the signal:
      
       * microbit
       * mps2-an385
       * mps2-an505
       * mps2-an511
       * mps2-an521
       * musca-a
       * musca-b1
       * netduino
       * netduinoplus2
      
      We still allow the board to wire up the signal if it needs to, in case
      we need to model more complicated reset controller logic or to model
      buggy SoC hardware which forgot to wire up the line itself. But
      defaulting to "reset the system" is more often going to be correct
      than defaulting to "do nothing".
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
      Message-id: 20200728103744.6909-3-peter.maydell@linaro.org
      9e60d759
    • Peter Maydell's avatar
      include/hw/irq.h: New function qemu_irq_is_connected() · faf7c6de
      Peter Maydell authored
      
      Mostly devices don't need to care whether one of their output
      qemu_irq lines is connected, because functions like qemu_set_irq()
      silently do nothing if there is nothing on the other end.  However
      sometimes a device might want to implement default behaviour for the
      case where the machine hasn't wired the line up to anywhere.
      
      Provide a function qemu_irq_is_connected() that devices can use for
      this purpose.  (The test is trivial but encapsulating it in a
      function makes it easier to see where we're doing it in case we need
      to change the implementation later.)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
      Message-id: 20200728103744.6909-2-peter.maydell@linaro.org
      faf7c6de
    • Peter Maydell's avatar
      hw/arm/netduino2, netduinoplus2: Set system_clock_scale · e7e5a959
      Peter Maydell authored
      The netduino2 and netduinoplus2 boards forgot to set the system_clock_scale
      global, which meant that if guest code used the systick timer in "use
      the processor clock" mode it would hang because time never advances.
      
      Set the global to match the documented CPU clock speed of these boards.
      Judging by the data sheet this is slightly simplistic because the
      SoC allows configuration of the SYSCLK source and frequency via the
      RCC (reset and clock control) module, but we don't model that.
      
      Fixes: https://bugs.launchpad.net/qemu/+bug/1876187
      
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
      Message-id: 20200727162617.26227-1-peter.maydell@linaro.org
      e7e5a959
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/ericb/tags/pull-bitmaps-2020-08-03' into staging · 45a150aa
      Peter Maydell authored
      
      bitmaps patches for 2020-08-03
      
      - fix bitmap migration involving read-only bitmap from backing chain
      
      # gpg: Signature made Mon 03 Aug 2020 15:06:51 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-bitmaps-2020-08-03:
        iotests/169: Test source cont with backing bmap
        qcow2: Release read-only bitmaps when inactivated
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      45a150aa
    • Hanna Reitz's avatar
      iotests/169: Test source cont with backing bmap · edadc99a
      Hanna Reitz authored
      
      Test migrating from a VM with a persistent bitmap in the backing chain,
      and then continuing that VM after the migration
      
      Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
      Message-Id: <20200730120234.49288-3-mreitz@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      edadc99a
Loading