qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 899676: migration: Skip only empty block devi


From: gaosong-loongson
Subject: [Qemu-commits] [qemu/qemu] 899676: migration: Skip only empty block devices
Date: Thu, 21 Mar 2024 21:51:15 -0700

  Branch: refs/heads/staging-8.2
  Home:   https://github.com/qemu/qemu
  Commit: 8996768ebcd5bd5129fe9c10980e9e7ecafab7f2
      
https://github.com/qemu/qemu/commit/8996768ebcd5bd5129fe9c10980e9e7ecafab7f2
  Author: Cédric Le Goater <clg@redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M migration/block.c

  Log Message:
  -----------
  migration: Skip only empty block devices

The block .save_setup() handler calls a helper routine
init_blk_migration() which builds a list of block devices to take into
account for migration. When one device is found to be empty (sectors
== 0), the loop exits and all the remaining devices are ignored. This
is a regression introduced when bdrv_iterate() was removed.

Change that by skipping only empty devices.

Cc: Markus Armbruster <armbru@redhat.com>
Cc: qemu-stable <qemu-stable@nongnu.org>
Suggested-by: Kevin Wolf <kwolf@redhat.com>
Fixes: fea68bb6e9fa ("block: Eliminate bdrv_iterate(), use bdrv_next()")
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Link: https://lore.kernel.org/r/20240312120431.550054-1-clg@redhat.com
[peterx: fix "Suggested-by:"]
Signed-off-by: Peter Xu <peterx@redhat.com>
(cherry picked from commit 2e128776dc56f502c2ee41750afe83938f389528)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 0d835791f02edfb8fee63dfff149cf6318793843
      
https://github.com/qemu/qemu/commit/0d835791f02edfb8fee63dfff149cf6318793843
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M block/mirror.c
    M include/qemu/job.h

  Log Message:
  -----------
  mirror: Don't call job_pause_point() under graph lock

Calling job_pause_point() while holding the graph reader lock
potentially results in a deadlock: bdrv_graph_wrlock() first drains
everything, including the mirror job, which pauses it. The job is only
unpaused at the end of the drain section, which is when the graph writer
lock has been successfully taken. However, if the job happens to be
paused at a pause point where it still holds the reader lock, the writer
lock can't be taken as long as the job is still paused.

Mark job_pause_point() as GRAPH_UNLOCKED and fix mirror accordingly.

Cc: qemu-stable@nongnu.org
Buglink: https://issues.redhat.com/browse/RHEL-28125
Fixes: 004915a96a7a ("block: Protect bs->backing with graph_lock")
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20240313153000.33121-1-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit ae5a40e8581185654a667fbbf7e4adbc2a2a3e45)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: aee1039c61fab33a7a6b4e6474d8ad54514cdf4f
      
https://github.com/qemu/qemu/commit/aee1039c61fab33a7a6b4e6474d8ad54514cdf4f
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: only traverse NBDExport->clients from main loop thread

The NBD clients list is currently accessed from both the export
AioContext and the main loop thread. When the AioContext lock is removed
there will be nothing protecting the clients list.

Adding a lock around the clients list is tricky because NBDClient
structs are refcounted and may be freed from the export AioContext or
the main loop thread. nbd_export_request_shutdown() -> client_close() ->
nbd_client_put() is also tricky because the list lock would be held
while indirectly dropping references to NDBClients.

A simpler approach is to only allow nbd_client_put() and client_close()
calls from the main loop thread. Then the NBD clients list is only
accessed from the main loop thread and no fancy locking is needed.

nbd_trip() just needs to reschedule itself in the main loop AioContext
before calling nbd_client_put() and client_close(). This costs more CPU
cycles per NBD request so add nbd_client_put_nonzero() to optimize the
common case where more references to NBDClient remain.

Note that nbd_client_get() can still be called from either thread, so
make NBDClient->refcount atomic.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20231221192452.1785567-6-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit f816310d0c32c8482e56807ea0f9faa8d1b5f696)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 13fc21ae3de6ad626cf920cc520c7db9157e4671
      
https://github.com/qemu/qemu/commit/13fc21ae3de6ad626cf920cc520c7db9157e4671
  Author: Stefan Hajnoczi <stefanha@redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: introduce NBDClient->lock to protect fields

NBDClient has a number of fields that are accessed by both the export
AioContext and the main loop thread. When the AioContext lock is removed
these fields will need another form of protection.

Add NBDClient->lock and protect fields that are accessed by both
threads. Also add assertions where possible and otherwise add doc
comments stating assumptions about which thread and lock holding.

Note this patch moves the client->recv_coroutine assertion from
nbd_co_receive_request() to nbd_trip() where client->lock is held.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20231221192452.1785567-7-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 7075d235114b40b30524cf1c5b61906c0bbf5f4d)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: a69a002dcd6059e5da222695e94223fe65fbca70
      
https://github.com/qemu/qemu/commit/a69a002dcd6059e5da222695e94223fe65fbca70
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: Fix race in draining the export

When draining an NBD export, nbd_drained_begin() first sets
client->quiescing so that nbd_client_receive_next_request() won't start
any new request coroutines. Then nbd_drained_poll() tries to makes sure
that we wait for any existing request coroutines by checking that
client->nb_requests has become 0.

However, there is a small window between creating a new request
coroutine and increasing client->nb_requests. If a coroutine is in this
state, it won't be waited for and drain returns too early.

In the context of switching to a different AioContext, this means that
blk_aio_attached() will see client->recv_coroutine != NULL and fail its
assertion.

Fix this by increasing client->nb_requests immediately when starting the
coroutine. Doing this after the checks if we should create a new
coroutine is okay because client->lock is held.

Cc: qemu-stable@nongnu.org
Fixes: fd6afc501a01 ("nbd/server: Use drained block ops to quiesce the server")
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20240314165825.40261-2-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 9c707525cbb1dd1e56876e45c70c0c08f2876d41)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: ddf4412bf4cced5701e1cfe8cc3c648f63c2ca90
      
https://github.com/qemu/qemu/commit/ddf4412bf4cced5701e1cfe8cc3c648f63c2ca90
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2024-03-19 (Tue, 19 Mar 2024)

  Changed paths:
    A tests/qemu-iotests/tests/iothreads-nbd-export
    A tests/qemu-iotests/tests/iothreads-nbd-export.out

  Log Message:
  -----------
  iotests: Add test for reset/AioContext switches with NBD exports

This replicates the scenario in which the bug was reported.
Unfortunately this relies on actually executing a guest (so that the
firmware initialises the virtio-blk device and moves it to its
configured iothread), so this can't make use of the qtest accelerator
like most other test cases. I tried to find a different easy way to
trigger the bug, but couldn't find one.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20240314165825.40261-3-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit e8fce34eccf68a32f4ecf2c6f121ff2ac383d6bf)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 2a1ce7c374e610d99cc1cb1aaa79e901353bcc06
      
https://github.com/qemu/qemu/commit/2a1ce7c374e610d99cc1cb1aaa79e901353bcc06
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M tests/unit/meson.build

  Log Message:
  -----------
  tests/unit: Bump test-aio-multithread test timeout to 2 minutes

When running the tests in slow mode on a very loaded system and with
--enable-debug, the test-aio-multithread can take longer than 1 minute.
Bump the timeout to two minutes to make sure that it also passes in
such situations.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20231215070357.10888-14-thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
(cherry picked from commit c45f8f1aef35730a2dcf3cabe296ac12965db43d)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 96ff214a2a49b2d5fc7a78303a5eaa278fcc6bba
      
https://github.com/qemu/qemu/commit/96ff214a2a49b2d5fc7a78303a5eaa278fcc6bba
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M tests/unit/meson.build

  Log Message:
  -----------
  tests/unit: Bump test-crypto-block test timeout to 5 minutes

When running the tests in slow mode on a very loaded system and with
--enable-debug, the test-crypto-block can take longer than 4 minutes.
Bump the timeout to 5 minutes to make sure that it also passes in
such situations.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20231215070357.10888-15-thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
(cherry picked from commit e1b363e328d559cd5f86d3d1d7b84d0154e153d3)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 25bdc64b62dd44013723283c805ad0b6c3c54ad4
      
https://github.com/qemu/qemu/commit/25bdc64b62dd44013723283c805ad0b6c3c54ad4
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M tests/unit/meson.build

  Log Message:
  -----------
  tests/unit: Bump test-replication timeout to 60 seconds

We're seeing timeouts for this test on CI runs (specifically for
ubuntu-20.04-s390x-all). It doesn't fail consistently, but even the
successful runs take about 27 or 28 seconds, which is not very far from
the 30 seconds timeout.

Bump the timeout a bit to make failure less likely even on this CI host.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20240125165803.48373-1-kwolf@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
(cherry picked from commit 63b18312d14ac984acaf13c7c55d9baa2d61496e)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: a85b8ec8721af7a555804003d619ac8e03ed5337
      
https://github.com/qemu/qemu/commit/a85b8ec8721af7a555804003d619ac8e03ed5337
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/tcg/sysemu/excp_helper.c

  Log Message:
  -----------
  target/i386: introduce function to query MMU indices

Remove knowledge of specific MMU indexes (other than MMU_NESTED_IDX and
MMU_PHYS_IDX) from mmu_translate().  This will make it possible to split
32-bit and 64-bit MMU indexes.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 5f97afe2543f09160a8d123ab6e2e8c6d98fa9ce)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
(Mjt: context fixup in target/i386/cpu.h due to other changes in that area)


  Commit: 1ced8cd5413db0c11f1e0fe31c50c49ba863d7f8
      
https://github.com/qemu/qemu/commit/1ced8cd5413db0c11f1e0fe31c50c49ba863d7f8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/tcg/sysemu/excp_helper.c

  Log Message:
  -----------
  target/i386: use separate MMU indexes for 32-bit accesses

Accesses from a 32-bit environment (32-bit code segment for instruction
accesses, EFER.LMA==0 for processor accesses) have to mask away the
upper 32 bits of the address.  While a bit wasteful, the easiest way
to do so is to use separate MMU indexes.  These days, QEMU anyway is
compiled with a fixed value for NB_MMU_MODES.  Split MMU_USER_IDX,
MMU_KSMAP_IDX and MMU_KNOSMAP_IDX in two.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 90f641531c782c873a05895f411c05fbbbef3c49)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
(Mjt: move changes for x86_cpu_mmu_index() to cpu_mmu_index() due to missing
 v8.2.0-1030-gace0c5fe59 "target/i386: Populate CPUClass.mmu_index")


  Commit: 509525dc67ba2cbf39a1cecf53af84383922f966
      
https://github.com/qemu/qemu/commit/509525dc67ba2cbf39a1cecf53af84383922f966
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M target/i386/cpu.h

  Log Message:
  -----------
  target/i386: fix direction of "32-bit MMU" test

The low bit of MMU indices for x86 TCG indicates whether the processor is
in 32-bit mode and therefore linear addresses have to be masked to 32 bits.
However, the index was computed incorrectly, leading to possible conflicts
in the TLB for any address above 4G.

Analyzed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Fixes: b1661801c18 ("target/i386: Fix physical address truncation", 2024-02-28)
Fixes: a28b6b4e743 ("target/i386: Fix physical address truncation" in 
stable-8.2)
Cc: qemu-stable@nongnu.org
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2206
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 2cc68629a6fc198f4a972698bdd6477f883aedfb)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
(Mjt: move changes for x86_cpu_mmu_index() to cpu_mmu_index() due to missing
 v8.2.0-1030-gace0c5fe59 "target/i386: Populate CPUClass.mmu_index")


  Commit: de742b16b3253bb9a194d623d0b751844bed8bc7
      
https://github.com/qemu/qemu/commit/de742b16b3253bb9a194d623d0b751844bed8bc7
  Author: Daniel P. Berrangé <berrange@redhat.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  Revert "chardev/char-socket: Fix TLS io channels sending too much data to the 
backend"

This commit results in unexpected termination of the TLS connection.
When 'fd_can_read' returns 0, the code goes on to pass a zero length
buffer to qio_channel_read. The TLS impl calls into gnutls_recv()
with this zero length buffer, at which point GNUTLS returns an error
GNUTLS_E_INVALID_REQUEST. This is treated as fatal by QEMU's TLS code
resulting in the connection being torn down by the chardev.

Simply skipping the qio_channel_read when the buffer length is zero
is also not satisfactory, as it results in a high CPU burn busy loop
massively slowing QEMU's functionality.

The proper solution is to avoid tcp_chr_read being called at all
unless the frontend is able to accept more data. This will be done
in a followup commit.

This reverts commit 462945cd22d2bcd233401ed3aa167d83a8e35b05

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
(cherry picked from commit e8ee827ffdb86ebbd5f5213a1f78123c25a90864)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: f8fb5928a850f889bbb949486149a5de3da8295b
      
https://github.com/qemu/qemu/commit/f8fb5928a850f889bbb949486149a5de3da8295b
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M ui/meson.build

  Log Message:
  -----------
  ui: compile dbus-display1.c with -fPIC as necessary

Building dbus-display1.c explicitly as a static library drops -fPIC by
default, which may not be correct if it ends up linked to a shared
library.

Let the target decide how to build the unit, with or without -fPIC. This
makes commit 186acfbaf7 ("tests/qtest: Depend on dbus_display1_dep") no
longer relevant, as dbus-display1.c will be recompiled.

Fixes: c172136ea33 ("meson: ensure dbus-display generated code is built
before other units")

Reported-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
(cherry picked from commit d4069a84a3380247c1b524096c6a807743bf687a)


  Commit: cf794e4774051c9d9ddee6e4d9017e851d11d79b
      
https://github.com/qemu/qemu/commit/cf794e4774051c9d9ddee6e4d9017e851d11d79b
  Author: Tao Su <tao1.su@linux.intel.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M target/i386/helper.c

  Log Message:
  -----------
  target/i386: Revert monitor_puts() in do_inject_x86_mce()

monitor_puts() doesn't check the monitor pointer, but do_inject_x86_mce()
may have a parameter with NULL monitor pointer. Revert monitor_puts() in
do_inject_x86_mce() to fix, then the fact that we send the same message to
monitor and log is again more obvious.

Fixes: bf0c50d4aa85 (monitor: expose monitor_puts to rest of code)
Reviwed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Tao Su <tao1.su@linux.intel.com>
Message-ID: <20240320083640.523287-1-tao1.su@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 7fd226b04746f0be0b636de5097f1b42338951a0)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: f6f4703c5a0b2172a9bf8f9fa45b291cc93a2c3e
      
https://github.com/qemu/qemu/commit/f6f4703c5a0b2172a9bf8f9fa45b291cc93a2c3e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M target/hppa/insns.decode
    M target/hppa/translate.c

  Log Message:
  -----------
  target/hppa: Fix assemble_16 insns for wide mode

Reported-by: Sven Schnelle <svens@stackframe.org>
Reviewed-by: Helge Deller <deller@gmx.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit 72bace2d13cb427fde3bb50ae1a71a2abe9acc0f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: efbcf7cead5e0969ec6df32b13dac3278bf3d62d
      
https://github.com/qemu/qemu/commit/efbcf7cead5e0969ec6df32b13dac3278bf3d62d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M target/hppa/insns.decode
    M target/hppa/translate.c

  Log Message:
  -----------
  target/hppa: Fix assemble_11a insns for wide mode

Tested-by: Helge Deller <deller@gmx.de>
Reviewed-by: Helge Deller <deller@gmx.de>
Reported-by: Sven Schnelle <svens@stackframe.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit 4768c28edd4097ebef42822e15b4a43026b15376)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: de74e73d91a54957ebba58c1073cb570a9b95970
      
https://github.com/qemu/qemu/commit/de74e73d91a54957ebba58c1073cb570a9b95970
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M target/hppa/insns.decode
    M target/hppa/translate.c

  Log Message:
  -----------
  target/hppa: Fix assemble_12a insns for wide mode

Tested-by: Helge Deller <deller@gmx.de>
Reported-by: Sven Schnelle <svens@stackframe.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit 46174e140d274385b1255bc7f16a5a711853053f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 4a76c5665b824ea66b7f39e9007143423a11001d
      
https://github.com/qemu/qemu/commit/4a76c5665b824ea66b7f39e9007143423a11001d
  Author: Sven Schnelle <svens@stackframe.org>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M target/hppa/translate.c

  Log Message:
  -----------
  target/hppa: ldcw,s uses static shift of 3

Fixes: 96d6407f363 ("target-hppa: Implement loads and stores")
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240319161921.487080-2-svens@stackframe.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit c3ea1996a14d5dbbedb3f9036f7ebec4395dc889)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: ca52ee4a9bec583d39f4ef8c4a7b123069f331d0
      
https://github.com/qemu/qemu/commit/ca52ee4a9bec583d39f4ef8c4a7b123069f331d0
  Author: Sven Schnelle <svens@stackframe.org>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M target/hppa/translate.c

  Log Message:
  -----------
  target/hppa: fix shrp for wide mode

Fixes: f7b775a9c075 ("target/hppa: Implement SHRPD")
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Helge Deller <deller@gmx.de>
Message-Id: <20240319161921.487080-3-svens@stackframe.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit d37fad0ae5bd2c544fdb0f2eff6acdb28a155be0)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 4dbeff3d48a9a9221ba0449423d4d42d4f023829
      
https://github.com/qemu/qemu/commit/4dbeff3d48a9a9221ba0449423d4d42d4f023829
  Author: Sven Schnelle <svens@stackframe.org>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M target/hppa/mem_helper.c

  Log Message:
  -----------
  target/hppa: fix access_id check

PA2.0 provides 8 instead of 4 PID registers.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240319161921.487080-4-svens@stackframe.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit ae157fc25053917830c3b581bc282f906e6d95d3)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: e3b3cff9983465d189d73794223bbb3ec1dd476d
      
https://github.com/qemu/qemu/commit/e3b3cff9983465d189d73794223bbb3ec1dd476d
  Author: Sven Schnelle <svens@stackframe.org>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M target/hppa/insns.decode
    M target/hppa/translate.c

  Log Message:
  -----------
  target/hppa: exit tb on flush cache instructions

When the guest modifies the tb it is currently executing from,
it executes a fic instruction. Exit the tb on such instruction,
otherwise we might execute stale code.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Message-Id: <20240319161921.487080-5-svens@stackframe.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit ad1fdacd1b936557514dd72c2079a80be0c2dfb4)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: b0a0ec47babae6cf3c9a80e1997446c14d30f868
      
https://github.com/qemu/qemu/commit/b0a0ec47babae6cf3c9a80e1997446c14d30f868
  Author: Sven Schnelle <svens@stackframe.org>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M target/hppa/translate.c

  Log Message:
  -----------
  target/hppa: mask privilege bits in mfia

mfia should return only the iaoq bits without privilege
bits.

Fixes: 98a9cb792c8 ("target-hppa: Implement system and memory-management insns")
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Helge Deller <deller@gmx.de>
Message-Id: <20240319161921.487080-6-svens@stackframe.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit b5e0b3a53c983c4a9620a44a6a557b389e589218)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 242370f8bdb2d4faf853c5f3da0c84e0651bf350
      
https://github.com/qemu/qemu/commit/242370f8bdb2d4faf853c5f3da0c84e0651bf350
  Author: Sven Schnelle <svens@stackframe.org>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M target/hppa/op_helper.c

  Log Message:
  -----------
  target/hppa: fix do_stdby_e()

stdby,e,m was writing data from the wrong half of the register
into memory for cases 0-3.

Fixes: 25460fc5a71 ("target/hppa: Implement STDBY")
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240319161921.487080-7-svens@stackframe.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit 518d2f4300e5c50a3e6416fd46e58373781a5267)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 5b51920fbd28aa254fcdfedacc619e4913f8e9ef
      
https://github.com/qemu/qemu/commit/5b51920fbd28aa254fcdfedacc619e4913f8e9ef
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M target/loongarch/insn_trans/trans_atomic.c.inc

  Log Message:
  -----------
  target/loongarch: Fix qemu-loongarch64 hang when executing 'll.d $t0, $t0, 0'

On gen_ll, if a->imm is zero, make_address_x return src1,
but the load to destination may clobber src1. We use a new
destination to fix this problem.

Fixes: c5af6628f4be (target/loongarch: Extract make_address_i() helper)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20240320013955.1561311-1-gaosong@loongson.cn>
(cherry picked from commit 77642f92c0b71a105aba2a4d03bc62328eae703b)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


Compare: https://github.com/qemu/qemu/compare/7820b9b7a0b5...5b51920fbd28

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

[Prev in Thread] Current Thread [Next in Thread]