Branch: refs/heads/staging-7.2 Home: https://github.com/qemu/qemu Commit: 71090deb4c84e18ab6270d517cfcc43eea95fdc4 https://github.com/qemu/qemu/commit/71090deb4c84e18ab6270d517cfcc43eea95fdc4 Author: Michael Tokarev <m...@tls.msk.ru> Date: 2023-12-22 (Fri, 22 Dec 2023)
Changed paths: M VERSION Log Message: ----------- Update version for 7.2.8 release Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: a629fee99ba2189a7452a212f0a01696a65877ac https://github.com/qemu/qemu/commit/a629fee99ba2189a7452a212f0a01696a65877ac Author: Kevin Wolf <kw...@redhat.com> Date: 2023-12-22 (Fri, 22 Dec 2023) Changed paths: M block/snapshot.c Log Message: ----------- block: Fix crash when loading snapshot on inactive node bdrv_is_read_only() only checks if the node is configured to be read-only eventually, but even if it returns false, writing to the node may not be permitted at the moment (because it's inactive). bdrv_is_writable() checks that the node can be written to right now, and this is what the snapshot operations really need. Change bdrv_can_snapshot() to use bdrv_is_writable() to fix crashes like the following: $ ./qemu-system-x86_64 -hda /tmp/test.qcow2 -loadvm foo -incoming defer qemu-system-x86_64: ../block/io.c:1990: int bdrv_co_write_req_prepare(BdrvChild *, int64_t, int64_t, BdrvTrackedRequest *, int): Assertion `!(bs->open_flags & BDRV_O_INACTIVE)' failed. The resulting error message after this patch isn't perfect yet, but at least it doesn't crash any more: $ ./qemu-system-x86_64 -hda /tmp/test.qcow2 -loadvm foo -incoming defer qemu-system-x86_64: Device 'ide0-hd0' is writable but does not support snapshots Signed-off-by: Kevin Wolf <kw...@redhat.com> Message-ID: <20231201142520.32255-2-kw...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> (cherry picked from commit d3007d348adaaf04ee8b099a475282034a662414) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: ad24078e3fc4330647b5d0e0c95db7bec86136a5 https://github.com/qemu/qemu/commit/ad24078e3fc4330647b5d0e0c95db7bec86136a5 Author: Kevin Wolf <kw...@redhat.com> Date: 2023-12-22 (Fri, 22 Dec 2023) Changed paths: M softmmu/vl.c Log Message: ----------- vl: Improve error message for conflicting -incoming and -loadvm Currently, the conflict between -incoming and -loadvm is only detected when loading the snapshot fails because the image is still inactive for the incoming migration. This results in a suboptimal error message: $ ./qemu-system-x86_64 -hda /tmp/test.qcow2 -loadvm foo -incoming defer qemu-system-x86_64: Device 'ide0-hd0' is writable but does not support snapshots Catch the situation already in qemu_validate_options() to improve the message: $ ./qemu-system-x86_64 -hda /tmp/test.qcow2 -loadvm foo -incoming defer qemu-system-x86_64: 'incoming' and 'loadvm' options are mutually exclusive Signed-off-by: Kevin Wolf <kw...@redhat.com> Message-ID: <20231201142520.32255-3-kw...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> (cherry picked from commit 5a7f21efaf99c60614fe1967be1c0f9aa46c526e) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: c6f64736dea20eaf165704967a12ce030de5b84b https://github.com/qemu/qemu/commit/c6f64736dea20eaf165704967a12ce030de5b84b Author: Kevin Wolf <kw...@redhat.com> Date: 2023-12-22 (Fri, 22 Dec 2023) Changed paths: A tests/qemu-iotests/tests/qcow2-internal-snapshots A tests/qemu-iotests/tests/qcow2-internal-snapshots.out Log Message: ----------- iotests: Basic tests for internal snapshots We have a few test cases that include tests for corner case aspects of internal snapshots, but nothing that tests that they actually function as snapshots or that involves deleting a snapshot. Add a test for this kind of basic internal snapshot functionality. The error cases include a regression test for the crash we just fixed with snapshot operations on inactive images. Signed-off-by: Kevin Wolf <kw...@redhat.com> Message-ID: <20231201142520.32255-4-kw...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> (cherry picked from commit bb6e2511eb48539b7dcbcb5f47772e156b9c45d1) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: 0eab8d42e193d176b9e7aaba2fbaf8b556d7fd0f https://github.com/qemu/qemu/commit/0eab8d42e193d176b9e7aaba2fbaf8b556d7fd0f Author: Xu Lu <luxu.ker...@bytedance.com> Date: 2024-01-08 (Mon, 08 Jan 2024) Changed paths: M target/riscv/csr.c Log Message: ----------- target/riscv: Fix mcycle/minstret increment behavior The mcycle/minstret counter's stop flag is mistakenly updated on a copy on stack. Thus the counter increments even when the CY/IR bit in the mcountinhibit register is set. This commit corrects its behavior. Fixes: 3780e33732f88 (target/riscv: Support mcycle/minstret write operation) Signed-off-by: Xu Lu <luxu.ker...@bytedance.com> Reviewed-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com> Signed-off-by: Michael Tokarev <m...@tls.msk.ru> (cherry picked from commit 5cb0e7abe1635cb82e0033260dac2b910d142f8c) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: c0a2b77dd88c29b98a7a51c383b8c3a81340bd80 https://github.com/qemu/qemu/commit/c0a2b77dd88c29b98a7a51c383b8c3a81340bd80 Author: Michael Tokarev <m...@tls.msk.ru> Date: 2024-01-08 (Mon, 08 Jan 2024) Changed paths: M chardev/char.c Log Message: ----------- chardev/char.c: fix "abstract device type" error message Current error message: qemu-system-x86_64: -chardev spice,id=foo: Parameter 'driver' expects an abstract device type while in fact the meaning is in reverse, -chardev expects a non-abstract device type. Fixes: 777357d758d9 ("chardev: qom-ify" 2016-12-07) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Reviewed-by: Zhao Liu <zhao1....@intel.com> (cherry picked from commit 4ad87cd4b2254197b7ac12e3da824854e6a90f8f) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: dbf80fdef803c737938a73bfc5257a8542bf3375 https://github.com/qemu/qemu/commit/dbf80fdef803c737938a73bfc5257a8542bf3375 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2024-01-11 (Thu, 11 Jan 2024) Changed paths: M hw/intc/arm_gicv3_cpuif.c Log Message: ----------- hw/intc/arm_gicv3_cpuif: handle LPIs in in the list registers The hypervisor can deliver (virtual) LPIs to a guest by setting up a list register to have an intid which is an LPI. The GIC has to treat these a little differently to standard interrupt IDs, because LPIs have no Active state, and so the guest will only EOI them, it will not also deactivate them. So icv_eoir_write() must do two things: * if the LPI ID is not in any list register, we drop the priority but do not increment the EOI count * if the LPI ID is in a list register, we immediately deactivate it, regardless of the split-drop-and-deactivate control This can be seen in the VirtualWriteEOIR0() and VirtualWriteEOIR1() pseudocode in the GICv3 architecture specification. Without this fix, potentially a hypervisor guest might stall because LPIs get stuck in a bogus Active+Pending state. Cc: qemu-sta...@nongnu.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Tested-by: Miguel Luis <miguel.l...@oracle.com> (cherry picked from commit 82a65e3188abebb509510b391726711606aca642) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: 9222f3ee43743d4c02d4db1bdc5181bb78a8afe7 https://github.com/qemu/qemu/commit/9222f3ee43743d4c02d4db1bdc5181bb78a8afe7 Author: Ilya Leoshkevich <i...@linux.ibm.com> Date: 2024-01-13 (Sat, 13 Jan 2024) Changed paths: M target/s390x/tcg/translate.c Log Message: ----------- target/s390x: Fix LAE setting a wrong access register LAE should set the access register corresponding to the first operand, instead, it always modifies access register 1. Co-developed-by: Ido Plat <ido.p...@ibm.com> Cc: qemu-sta...@nongnu.org Fixes: a1c7610a6879 ("target-s390x: implement LAY and LAEY instructions") Reviewed-by: David Hildenbrand <da...@redhat.com> Signed-off-by: Ilya Leoshkevich <i...@linux.ibm.com> Message-ID: <20240111092328.929421-2-...@linux.ibm.com> Signed-off-by: Thomas Huth <th...@redhat.com> (cherry picked from commit e358a25a97c71c39e3513d9b869cdb82052e50b8) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> (Mjt: target/s390x/tcg/translate.c: fixup for v8.1.0-1189-gad75a51e84 "tcg: Rename cpu_env to tcg_env" and v7.2.0-2636-g3ac6f91bca "target/s390x: Drop tcg_temp_free from translate.c") Commit: c59ce9fef694fff56394ef4a8983c67464286ee9 https://github.com/qemu/qemu/commit/c59ce9fef694fff56394ef4a8983c67464286ee9 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2024-01-13 (Sat, 13 Jan 2024) Changed paths: M .gitlab-ci.d/buildtest.yml Log Message: ----------- .gitlab-ci.d/buildtest.yml: Work around htags bug when environment is large Sometimes the CI "pages" job fails with a message like this from htags: $ htags -anT --tree-view=filetree -m qemu_init -t "Welcome to the QEMU sourcecode" htags: Negative exec line limit = -371 This is due to a bug in hflags where if the environment is too large it falls over: https://lists.gnu.org/archive/html/bug-global/2024-01/msg00000.html This happens to us because GitLab CI puts the commit message of the commit under test into the CI_COMMIT_MESSAGE and/or CI_COMMIT_TAG_MESSAGE environment variables, so the job will fail if the commit happens to have a verbose commit message. Work around the htags bug by unsetting these variables while running htags. Cc: qemu-sta...@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2080 Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20240111125543.1573473-1-peter.mayd...@linaro.org> Signed-off-by: Thomas Huth <th...@redhat.com> (cherry picked from commit 52a21689cd829c1cc931b59b5ee5bdb10dd578c1) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Compare: https://github.com/qemu/qemu/compare/fe0c88919cf2...c59ce9fef694