Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: qemu/qemu
base: 8cb945be2d6d
Choose a base ref
...
head repository: qemu/qemu
compare: 234320cd0573
Choose a head ref
  • 7 commits
  • 6 files changed
  • 5 contributors

Commits on Jul 31, 2023

  1. target/arm: Fix MemOp for STGP

    When converting to decodetree, the code to rebuild mop for the pair
    only made it into trans_STP and not into trans_STGP.
    
    Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1790
    Fixes: 8c212eb ("target/arm: Convert load/store-pair to decodetree")
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
    Message-id: 20230726165416.309624-1-richard.henderson@linaro.org
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    rth7680 authored and pm215 committed Jul 31, 2023
    Copy the full SHA
    638511e View commit details
    Browse the repository at this point in the history
  2. elf2dmp: Don't abandon when Prcb is set to 0

    Prcb may be set to 0 for some CPUs if the dump was taken before they
    start. The dump may still contain valuable information for started CPUs
    so don't abandon conversion in such a case.
    
    Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
    Reviewed-by: Viktor Prutyanov <viktor.prutyanov@phystech.edu>
    Message-id: 20230611033434.14659-1-akihiko.odaki@daynix.com
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    akihikodaki authored and pm215 committed Jul 31, 2023
    Copy the full SHA
    548b8ed View commit details
    Browse the repository at this point in the history
  3. target/arm: Avoid writing to constant TCGv in trans_CSEL()

    In commit 0b188ea we changed the implementation of
    trans_CSEL() to use tcg_constant_i32(). However, this change
    was incorrect, because the implementation of the function
    sets up the TCGv_i32 rn and rm to be either zero or else
    a TCG temp created in load_reg(), and these TCG temps are
    then in both cases written to by the emitted TCG ops.
    The result is that we hit a TCG assertion:
    
    qemu-system-arm: ../../tcg/tcg.c:4455: tcg_reg_alloc_mov: Assertion `!temp_readonly(ots)' failed.
    
    (or on a non-debug build, just produce a garbage result)
    
    Adjust the code so that rn and rm are always writeable
    temporaries whether the instruction is using the special
    case "0" or a normal register as input.
    
    Cc: qemu-stable@nongnu.org
    Fixes: 0b188ea ("target/arm: Use tcg_constant in trans_CSEL")
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Message-id: 20230727103906.2641264-1-peter.maydell@linaro.org
    pm215 committed Jul 31, 2023
    Copy the full SHA
    2b0d656 View commit details
    Browse the repository at this point in the history
  4. target/arm/tcg: Don't build AArch64 decodetree files for qemu-system-arm

    Currently we list all the Arm decodetree files together and add them
    unconditionally to arm_ss.  This means we build them for both
    qemu-system-aarch64 and qemu-system-arm.  However, some of them are
    AArch64-specific, so there is no need to build them for
    qemu-system-arm.  (Meson is smart enough to notice that the generated
    .c.inc file is not used by any objects that go into qemu-system-arm,
    so we only unnecessarily run decodetree, not anything more
    heavyweight like a recompile or relink, but it's still unnecessary
    work.)
    
    Split gen into gen_a32 and gen_a64, and only add gen_a64 for
    TARGET_AARCH64 compiles.
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Message-id: 20230718104628.1137734-1-peter.maydell@linaro.org
    pm215 committed Jul 31, 2023
    Copy the full SHA
    71054f7 View commit details
    Browse the repository at this point in the history
  5. kvm: Fix crash due to access uninitialized kvm_state

    Runs into core dump on arm64 and the backtrace extracted from the
    core dump is shown as below. It's caused by accessing uninitialized
    @kvm_state in kvm_flush_coalesced_mmio_buffer() due to commit 176d073
    ("hw/arm/virt: Use machine_memory_devices_init()"), where the machine's
    memory region is added earlier than before.
    
        main
        qemu_init
        configure_accelerators
        qemu_opts_foreach
        do_configure_accelerator
        accel_init_machine
        kvm_init
        virt_kvm_type
        virt_set_memmap
        machine_memory_devices_init
        memory_region_add_subregion
        memory_region_add_subregion_common
        memory_region_update_container_subregions
        memory_region_transaction_begin
        qemu_flush_coalesced_mmio_buffer
        kvm_flush_coalesced_mmio_buffer
    
    Fix it by bailing early in kvm_flush_coalesced_mmio_buffer() on the
    uninitialized @kvm_state. With this applied, no crash is observed on
    arm64.
    
    Fixes: 176d073 ("hw/arm/virt: Use machine_memory_devices_init()")
    Signed-off-by: Gavin Shan <gshan@redhat.com>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Message-id: 20230731125946.2038742-1-gshan@redhat.com
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    Gavin Shan authored and pm215 committed Jul 31, 2023
    Copy the full SHA
    fe6bda5 View commit details
    Browse the repository at this point in the history
  6. gdbstub: Fix client Ctrl-C handling

    The gdb remote protocol has a special interrupt character (0x03) that is
    transmitted outside the regular packet processing, and represents a
    Ctrl-C pressed in the client. Despite not being a regular packet, it
    does expect a regular stop response if the stub successfully stops the
    running program.
    
    See: https://sourceware.org/gdb/onlinedocs/gdb/Interrupts.html
    
    Inhibiting the stop reply packet can lead to gdb client hang. So permit
    a stop response when receiving a character from gdb that stops the vm.
    Additionally, add a warning if that was not a 0x03 character, because
    the gdb session is likely to end up getting confused if this happens.
    
    Cc: qemu-stable@nongnu.org
    Fixes: 7583700 ("gdbstub: only send stop-reply packets when allowed to")
    Reported-by: Frederic Barrat <fbarrat@linux.ibm.com>
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Tested-by: Joel Stanley <joel@jms.id.au>
    Message-id: 20230711085903.304496-1-npiggin@gmail.com
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    npiggin authored and pm215 committed Jul 31, 2023
    Copy the full SHA
    108e818 View commit details
    Browse the repository at this point in the history
  7. Merge tag 'pull-target-arm-20230731' of https://git.linaro.org/people…

    …/pmaydell/qemu-arm into staging
    
    target-arm queue:
     * Don't build AArch64 decodetree files for qemu-system-arm
     * Fix TCG assert in v8.1M CSEL etc
     * Fix MemOp for STGP
     * gdbstub: Fix client Ctrl-C handling
     * kvm: Fix crash due to access uninitialized kvm_state
     * elf2dmp: Don't abandon when Prcb is set to 0
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmTHwb0ZHHBldGVyLm1h
    # eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3uhwD/9d3RGbYGFi41DH6xmcm6KY
    # t1YZ4n/uf6/YnJMrpNuFHsuS1Qb2dpMucQ1mbjbC8/xxgc4OP04xSQX6FYSGKp8M
    # 5wGFJ4qwg+2CDXGHY9BzyaDiBZPUNoxvhTL2PwNchkRw1a1uqMOAunQjfXbKJVCB
    # c/qBNWEuDFRvbry3WAATxG7/SO96HVxqEkp5LlR8BAxL4w2QnvXrijzQxmgkQVWV
    # gZaKfEds0wXTvhhD6xCxVwat9IcszrtzcI7nVESbRTU/Ll1Zy6UayYPONSVhzGht
    # ZVTTc2NHTuYJxx8Zv1bRUygGUMjWNbIw3V2Nlb+SeT9oe8IZGLp5uUU1dk65IKtl
    # 40FCaVU02wtm3ueppcX58cvf9Xol+TdyAbwC+2cXnXkM84Ofnv9TaH8wExRBu9FR
    # iLu6Jxfthgr0WtcTrNCFxd+IUN7M+3zPI0KNct1lb67reQEyUp57abrrbNmXtD2f
    # a2M895OemHo1uUOi2Kdc7G6sDHEUHp3XTUefJ/35fr3ojIp8eMzoHlWRrBDgsLee
    # 3SjTs5SlTkQt5HpR1NAVdXaOP/fzqqHzhDdjprYzMpOpoaZmtME3f7qELjpgvvg9
    # TTIggB5TjIodW+ghJzYTLJbVFbTKLX/CN0evMuUknvhZ/5bw0hEtCTi/4T1KUQ3L
    # JLdglSK7qOdQkjhAfmM/8A==
    # =mtWt
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Mon 31 Jul 2023 07:14:21 AM PDT
    # 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]
    
    * tag 'pull-target-arm-20230731' of https://git.linaro.org/people/pmaydell/qemu-arm:
      gdbstub: Fix client Ctrl-C handling
      kvm: Fix crash due to access uninitialized kvm_state
      target/arm/tcg: Don't build AArch64 decodetree files for qemu-system-arm
      target/arm: Avoid writing to constant TCGv in trans_CSEL()
      elf2dmp: Don't abandon when Prcb is set to 0
      target/arm: Fix MemOp for STGP
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
    rth7680 committed Jul 31, 2023
    Copy the full SHA
    234320c View commit details
    Browse the repository at this point in the history