Branch: refs/heads/staging Home: https://github.com/qemu/qemu Commit: fb0e4a607d4b765d0fdbdc9c1d387deda8a1cf43 https://github.com/qemu/qemu/commit/fb0e4a607d4b765d0fdbdc9c1d387deda8a1cf43 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2023-02-08 (Wed, 08 Feb 2023)
Changed paths: M scripts/meson-buildoptions.py M scripts/meson-buildoptions.sh Log Message: ----------- build: make meson-buildoptions.sh stable The library directory can change depending on the multilib setup of the host. It would be even better to detect it in configure with the same algorithm that Meson uses, but the important thing to avoid confusing developers is to have identical contents of scripts/meson-buildoptions.sh, independent of the distro and architecture on which it was created. So, for now just give a custom default value to libdir. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 940e82d9638941af398d66b9099904c5c360d02c https://github.com/qemu/qemu/commit/940e82d9638941af398d66b9099904c5c360d02c Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2023-02-08 (Wed, 08 Feb 2023) Changed paths: M include/disas/dis-asm.h M include/qemu/bswap.h M include/qemu/envlist.h M include/qemu/rcu.h M include/qemu/rcu_queue.h M include/qemu/uri.h Log Message: ----------- remove unnecessary extern "C" blocks A handful of header files in QEMU are wrapped with extern "C" blocks. These are not necessary: there are C++ source files anymore in QEMU, and even where there were some, they did not include most of these files anyway. Remove them for consistency. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: fc9e217310ac60084f20cec516eb98c183f0f0ed https://github.com/qemu/qemu/commit/fc9e217310ac60084f20cec516eb98c183f0f0ed Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2023-02-08 (Wed, 08 Feb 2023) Changed paths: M block/iscsi.c Log Message: ----------- block/iscsi: fix double-free on BUSY or similar statuses Commit 8c460269aa77 ("iscsi: base all handling of check condition on scsi_sense_to_errno", 2019-07-15) removed a "goto out" so that the same coroutine is re-entered twice; once from iscsi_co_generic_cb, once from the timer callback iscsi_retry_timer_expired. This can cause a crash. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1378 Reported-by: Grzegorz Zdanowski <https://gitlab.com/kiler129> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 0a1f673e89f36b96cdd171eed6a57fd012c15d54 https://github.com/qemu/qemu/commit/0a1f673e89f36b96cdd171eed6a57fd012c15d54 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M softmmu/vl.c Log Message: ----------- vl: catch [accel] entry without accelerator Avoid a SIGSEGV and return an error instead. Reported-by: Thomas Huth <th...@redhat.com> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1439 Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 86aa438037fa18eab7fab2c7f0100af3d406bdba https://github.com/qemu/qemu/commit/86aa438037fa18eab7fab2c7f0100af3d406bdba Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M tests/qtest/libqtest.c Log Message: ----------- libqtest: split qtest_spawn_qemu function In order to create a function that allows testing of invalid command lines, extract the parts of qtest_init_without_qmp_handshake that do not require any successful set up of sockets. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 3d991f6b7566060632c7fe034d5ce5361eb00656 https://github.com/qemu/qemu/commit/3d991f6b7566060632c7fe034d5ce5361eb00656 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M tests/qtest/libqtest.c Log Message: ----------- libqtest: ensure waitpid() is only called once If a test aborts after qtest_wait_qemu() is called, the SIGABRT hooks are still in place and waitpid() is called again. The second time it is called, the process does not exist anymore and the system call fails. Move the s->qemu_pid = -1 assignment to qtest_wait_qemu() to make it idempotent, and anyway remove the SIGABRT hook as well to avoid that qtest_check_status() is called twice. Because of the extra call, qtest_remove_abrt_handler() now has to be made idempotent as well. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 225ae42e3faaaf40b9563fec7326a258ec3e538a https://github.com/qemu/qemu/commit/225ae42e3faaaf40b9563fec7326a258ec3e538a Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M tests/qtest/libqtest.c M tests/qtest/libqtest.h M tests/qtest/readconfig-test.c Log Message: ----------- readconfig-test: add test for accelerator configuration Test that it does not cause a SIGSEGV, and cover a valid configuration as well. Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 750024635d121ccf74f797935c98c59a425a4cd9 https://github.com/qemu/qemu/commit/750024635d121ccf74f797935c98c59a425a4cd9 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M tests/tcg/i386/test-i386-bmi2.c Log Message: ----------- tests/tcg/i386: Introduce and use reg_t consistently Define reg_t based on the actual register width. Define the inlines using that type. This will allow input registers to 32-bit insns to be set to 64-bit values on x86-64, which allows testing various edge cases. Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-Id: <20230114230542.3116013-2-richard.hender...@linaro.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: aa83b6e891932f04841762dd5d2cfa7775bc0e3d https://github.com/qemu/qemu/commit/aa83b6e891932f04841762dd5d2cfa7775bc0e3d Author: Richard Henderson <richard.hender...@linaro.org> Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M target/i386/tcg/emit.c.inc M tests/tcg/i386/test-i386-bmi2.c Log Message: ----------- target/i386: Fix BEXTR instruction There were two problems here: not limiting the input to operand bits, and not correctly handling large extraction length. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1372 Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20230114230542.3116013-3-richard.hender...@linaro.org> Cc: qemu-sta...@nongnu.org Fixes: 1d0b926150e5 ("target/i386: move scalar 0F 38 and 0F 3A instruction to new decoder", 2022-10-18) Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 948e703e7adf53ad24399c32d5dc0bab70b66427 https://github.com/qemu/qemu/commit/948e703e7adf53ad24399c32d5dc0bab70b66427 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M target/i386/tcg/emit.c.inc Log Message: ----------- target/i386: Fix C flag for BLSI, BLSMSK, BLSR We forgot to set cc_src, which is used for computing C. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1370 Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20230114180601.2993644-1-richard.hender...@linaro.org> Cc: qemu-sta...@nongnu.org Fixes: 1d0b926150e5 ("target/i386: move scalar 0F 38 and 0F 3A instruction to new decoder", 2022-10-18) Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 92f5d4606bedf0e2af0169a32aff9443084c5d0a https://github.com/qemu/qemu/commit/92f5d4606bedf0e2af0169a32aff9443084c5d0a Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M target/i386/tcg/emit.c.inc M tests/tcg/i386/Makefile.target A tests/tcg/i386/test-i386-adcox.c Log Message: ----------- target/i386: fix ADOX followed by ADCX When ADCX is followed by ADOX or vice versa, the second instruction's carry comes from EFLAGS and the condition codes use the CC_OP_ADCOX operation. Retrieving the carry from EFLAGS is handled by this bit of gen_ADCOX: tcg_gen_extract_tl(carry_in, cpu_cc_src, ctz32(cc_op == CC_OP_ADCX ? CC_C : CC_O), 1); Unfortunately, in this case cc_op has been overwritten by the previous "if" statement to CC_OP_ADCOX. This works by chance when the first instruction is ADCX; however, if the first instruction is ADOX, ADCX will incorrectly take its carry from OF instead of CF. Fix by moving the computation of the new cc_op at the end of the function. The included exhaustive test case fails without this patch and passes afterwards. Because ADCX/ADOX need not be invoked through the VEX prefix, this regression bisects to commit 16fc5726a6e2 ("target/i386: reimplement 0x0f 0x38, add AVX", 2022-10-18). However, the mistake happened a little earlier, when BMI instructions were rewritten using the new decoder framework. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1471 Reported-by: Paul Jolly <https://gitlab.com/myitcv> Fixes: 1d0b926150e5 ("target/i386: move scalar 0F 38 and 0F 3A instruction to new decoder", 2022-10-18) Cc: qemu-sta...@nongnu.org Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 417296c8d8588f782018d01a317f88957e9786d6 https://github.com/qemu/qemu/commit/417296c8d8588f782018d01a317f88957e9786d6 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M tests/qtest/netdev-socket.c Log Message: ----------- tests/qtest/netdev-socket: Raise connection timeout to 60 seconds The netdev-socket test intermittently fails on our s390x CI runner: 633/659 ERROR:../tests/qtest/netdev-socket.c:197:test_stream_unix: assertion failed (resp == expect): ("st0: index=0,type=stream,connection error\r\n" == "st0: index=0,type=stream,unix:/tmp/netdev-socket.GZUG01/stream_unix\r\n") ERROR 633/659 qemu:qtest+qtest-xtensa / qtest-xtensa/netdev-socket ERROR 5.47s killed by signal 6 SIGABRT This may just be because when the machine is under heavy load running the CI tests it hits the timeout before the QEMU under test has started to the point of being able to respond to HMP queries. Bump the timeout to 60 seconds to see if the intermittent goes away. Acked-by: Thomas Huth <th...@redhat.com> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Message-id: 20230207165119.1479132-1-peter.mayd...@linaro.org Commit: 7a332492724a83378f4fe55c598f1c312e71aa26 https://github.com/qemu/qemu/commit/7a332492724a83378f4fe55c598f1c312e71aa26 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2023-02-09 (Thu, 09 Feb 2023) Changed paths: M block/iscsi.c M include/disas/dis-asm.h M include/qemu/bswap.h M include/qemu/envlist.h M include/qemu/rcu.h M include/qemu/rcu_queue.h M include/qemu/uri.h M scripts/meson-buildoptions.py M scripts/meson-buildoptions.sh M softmmu/vl.c M target/i386/tcg/emit.c.inc M tests/qtest/libqtest.c M tests/qtest/libqtest.h M tests/qtest/readconfig-test.c M tests/tcg/i386/Makefile.target A tests/tcg/i386/test-i386-adcox.c M tests/tcg/i386/test-i386-bmi2.c Log Message: ----------- Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging * block/iscsi: fix double-free on BUSY or similar statuses * catch [accel] entry without accelerator * target/i386: various fixes for BMI and ADX instructions * make the contents of meson-buildoptions.sh stable # -----BEGIN PGP SIGNATURE----- # # iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmPkujsUHHBib256aW5p # QHJlZGhhdC5jb20ACgkQv/vSX3jHroOJFAf/Rpv2+P8r8ABmFHbb5YGdyn9EeaMG # w9IB5dZeepHCTbTTgedcx1k4/hmhxJCfTt/M4Jry+C3nS3stkm4aFBmnO3lDI63B # vs+dQciQEYmJW5u6S/zP3ugw0PNguEqZs40LA8ZvyXpsKYkQm5O0SRFCxrX+jm2B # Uvc+5yoZlu5P6ltZWZUEn6/75hSaFC+vTI5UOJlrbIWTC9Hx76i5CtO8wxQMQE83 # oQ5ppg7yfMCKyyBzNAlrtlP1KfXTzXWM2hwbYUC3oDm81IBrD2v/M+gNy8oKC79A # yn5qz405b4DBazOzqlP88oHKK3dPKKlpyQyk03toTtEmMQX+7bfK033Irg== # =nLUo # -----END PGP SIGNATURE----- # gpg: Signature made Thu 09 Feb 2023 09:17:47 GMT # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonz...@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonz...@gnu.org>" [full] # gpg: aka "Paolo Bonzini <pbonz...@redhat.com>" [full] # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * tag 'for-upstream' of https://gitlab.com/bonzini/qemu: target/i386: fix ADOX followed by ADCX target/i386: Fix C flag for BLSI, BLSMSK, BLSR target/i386: Fix BEXTR instruction tests/tcg/i386: Introduce and use reg_t consistently readconfig-test: add test for accelerator configuration libqtest: ensure waitpid() is only called once libqtest: split qtest_spawn_qemu function vl: catch [accel] entry without accelerator block/iscsi: fix double-free on BUSY or similar statuses remove unnecessary extern "C" blocks build: make meson-buildoptions.sh stable Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Compare: https://github.com/qemu/qemu/compare/65417c2357b6...7a332492724a